Hallo! bisher habe ich alle Herausforderungen durch Recherche in Foren und Manuals lösen können, aber jetzt stoße ich an meine Grenzen... schon seit Stunden versuche ich eine kleine Anpassung an den x Achsen vorzunehmen. Soll: Es soll oberhalb und unterhalb des Diagramms jeweils die gleiche x Achse geben. Von 55 bis 68 mit jeweils 11 minor ticks(ein Hauptintervall ist ein Jahr, daher die Unterteilung in 12 Monate) und einem tick zur Halbierung eines Hauptintervalls Die einzigen Unterschiede sollen sein:
jetzt zu der Herausforderung: Obere Achse: ich bekomme die minor ticks (minor tick num=11) und den tick zur Halbierung (minor tick num=1) nicht an die Hauptintervalle angepasst. Vorher ging die Achse von 58 bis 68 da hat alles gepasst. Untere Achse, da bekomme ich weder die Hauptintervalle (soll 55 bis 68 also 13 Intervalle) noch die minor ticks vernünftig dargestellt. Über Hilfe wäre ich sehr dankbar, ich verzweifle dran, xmin und xmax scheint komplett ignoriert zu werden, die Achsen haben immer 10 Intervalle von 0,1 bis 1 Open in Online-Editor
\documentclass[12pt]{article} \usepackage{pgfplots, pgfplotstable} % Darstellung der Grafiken \begin{document} \begin{tikzpicture} % obere X-Achse: Hervorhebung des Ticks zur Halbierung zwischen den Hauptintervallen: \begin{axis}[ width=18cm, height=3cm, draw=none, xmin=55, xmax=68, axis y line = none, axis x line = top, enlarge y limits=0.4, minor tick num=1, minor tick length = 6pt, minor tick style ={line width=.5pt,black}, xticklabels={,,}, grid=none,] \end{axis} % obere X-Achse: Major Ticks und Minor Ticks: \begin{axis}[ title style={yshift=2.5ex,}, width=18cm, height=3cm, xbar stacked, draw=none, xmin=55, xmax=68, axis y line = none, axis x line = top, enlarge y limits=0.4, major tick length = 8pt, major tick style={line width=.6pt,draw=black}, minor tick style={line width=.2pt,draw=black}, minor tick num=11, grid=none,] \addplot[fill=white, draw=none] coordinates {(62,1) (61,2) (59,3)}; \addplot[fill=blue!30, draw=none] coordinates {(2,1) (1,2) (0,3) }; \addplot[fill=blue!60, draw=none] coordinates {(2,1) (1,2) (0,3) }; \end{axis} %roter senkrechter Strich \begin{axis}[ width=18cm, height=3cm, draw=none, xmin=55, xmax=68, axis y line = none, axis x line = bottom, enlarge y limits=0.4, major grid style={line width=.9pt,draw=red}, minor tick length = 0.1pt, minor tick style={line width=.1pt,draw=black}, xtick={57}, xticklabels={,,}, grid =major,] \addplot[color=white] coordinates { (59,1)}; \end{axis} % untere X-Achse: Hervorhebung des Ticks zur Halbierung zwischen den Hauptintervallen: \begin{axis}[ width=18cm, height=3cm, draw=none, xmin=55, xmax=68, axis y line = none, axis x line = bottom, enlarge y limits=0.4, minor tick num=1, minor tick length = 6pt, minor tick style ={line width=.5pt,black}, xticklabels={,,}, grid=none,] \end{axis} % untere X-Achse: Major Ticks und Minor Ticks: \begin{axis}[ title style={yshift=2.5ex,}, width=18cm, height=3cm, xbar stacked, draw=none, xmin=55, xmax=68, axis y line = none, axis x line = bottom, enlarge y limits=0.4, major tick length = 8pt, major tick style={line width=.6pt,draw=black}, minor tick style={line width=.2pt,draw=black}, minor tick num=11, xticklabels={,,}, grid=none,] \end{axis} \end{tikzpicture} \end{document} |
Bei einem Teil Deiner
Aber Du musst ohnehin dafür sorgen, dass alle Open in Online-Editor
\pgfplotsset{ every linear axis/.append style={ width=18cm, height=3cm, xmin=55, xmax=68, xtick={55,...,68}, xticklabel=\empty, axis y line=none, ymin=1, ymax=3, enlarge y limits=.4, major tick length = 8pt, major tick style={line width=.6pt,draw=black}, minor tick length = 6pt, minor tick style ={line width=.2pt,black}, } } Mir ist jetzt nicht klar, was genau Du plotten möchtest, deshalb ist hier mal einfach ein beliebiges Beispiel. Open in Online-Editor
\documentclass[margin=5pt]{standalone} \usepackage{pgfplots} \pgfplotsset{compat=newest}% newest wegen dem Online-Editor, derzeit aktuell ist 1.14 \begin{document} \begin{tikzpicture} \pgfplotsset{ every linear axis/.append style={ width=18cm, height=3cm, xmin=55, xmax=68, xtick={55,...,68}, xticklabel=\empty, axis y line=none, ymin=1, ymax=3, enlarge y limits=.4, major tick length = 8pt, major tick style={line width=.6pt,draw=black}, minor tick length = 6pt, minor tick style ={line width=.2pt,black}, } } % obere x-Achse und roter Strich bei 57 \begin{axis}[ axis x line = top, minor tick num=1, extra x ticks=57, extra x tick style={grid=major,major grid style={line width=.9pt,draw=red}} ] \fill[fill=blue!30] (60,1)rectangle(65,3); \fill[fill=blue!60] (62,1)rectangle(65,3); \end{axis} %untere x-Achse \begin{axis}[ axis x line = bottom, minor tick num=11, ] \end{axis} \end{tikzpicture} \end{document} Bitte beachte, dass direkt nach dem Laden von beantwortet 19 Sep '16, 13:10 esdd vielen Dank esdd! Das hilft mir schon mal weiter! meine Folgefrage habe ich hier eingestellt: http://texwelt.de/wissen/fragen/18496/tikz-achsengestaltung-mehrere-unterschiedliche-minor-ticks-auf-einer-achse
(19 Sep '16, 16:18)
TimBo
|
Willkommen auf TeXwelt. Ich habe Deinen Code formatiert. Schau einfach mal hier.