Überarbeitungsverlauf[Zurück]
Klicke auf Einblenden/Ausblenden von Überarbeitungen 3
set layers

30 Jul '14, 20:36

esdd's gravatar image

esdd
17.8k304257

Die grauen Striche sind tatsächlich da, auch mit Version 1.10 und ergänztem `\pgfplotsset{compat=1.10}`: ![alt text][1] Sie werden von dem zweiten Plot durch die Option `axis y line*=right` in Kombination mit dem Zeichnen der `xtick` erzeugt. Da die linke Achse fehlt, wird dort ein grauer `xtick` eingefügt. Dieser landet dann auf der linken Achse des ersten Plots. Sichtbar wird das, wenn man den ersten Plot (und den zugehörigen Legendeneintrag) auskommentiert: ![alt text][2] Vermeiden lässt sich das zum einen in dem man die ohnehin überflüssige Erstellung von `xtick`s im zweiten Plot mit `xtick=\empty` abstellt, da diese schon vom ersten Plot ausgegeben werden und/oder zum anderen in dem man beim zweiten Plot beide Achsen zeichnen lässt und nur die `yticklabel` mit Hilfe von `yticklabel pos=right` auf die rechte Seite schiebt. \documentclass{scrbook} \usepackage{pgfplots} \pgfplotsset{compat=1.10}% derzeit aktuelle Version Version ist 1.10 \usepgfplotslibrary{units} \usepackage{siunitx} \usepgfplotslibrary{units} \pgfplotsset{ width=\textwidth, height = 0.4\textheight, compat=newest, minor tick style={black}, legend style={cells={anchor=west}}, every axis legend/.append style={at={(0.99, 0.99)}, anchor=northeast}, ticklabel shift={0.05cm} } \usepackage[utf8]{inputenc}% Eingabekodierung, gegebenenfalls anpassen \begin{document} \begin{figure}[htb] \centering \begin{tikzpicture} \begin{axis}[grid = major, width = \textwidth-45pt, \pgfplotsset{ width=\textwidth-45pt, height = 0.4\textheight, xlabel near ticks, ylabel near ticks, xlabel = {Scherrate}, x unit=\si{\second}, ylabel = {aaa}, y unit=\si{\percent}, xmin=0, xmax=100, ymin=400, ymax=700, x legend style={% at={(0.99,0.99)}, anchor=north east }, legend cell align=left, ticklabel shift={0.05cm}, tick label style={/pgf/number format/1000 sep=} sep=}, xmin=0,xmax=100, no markers } \begin{axis}[ grid = major, xlabel = {Scherrate}, x unit=\si{\second}, ylabel = {aaa}, y unit=\si{\percent}, ymin=400, ymax=700, ] \addplot[color = blue, mark = none] \addplot[blue] table {\jobname A.dat}; \label{Viskositaet}% keine Umlaute verwenden!!! \end{axis} \begin{axis}[width = \textwidth-45pt, height = 0.4\textheight, %axis y line*=right,% besser beide Achsen zeichnen lassen % \begin{axis}[ yticklabel pos=right,% yticklabel auf der rechten Seite ylabel = {xxx}, y unit=\si{\percent}, xmin=0, xmax=100, ymin=0, ymax=300, xtick=\empty,% xticks nicht noch einmal zeichnen %x tick label style={/pgf/number format/1000 sep=}, legend pos=north east, legend cell align=left, legend style={at={(0.99,0.99)}} ] \addplot[color = red, mark = none] \addplot[red] table {\jobname B.dat}; \addlegendimage{/pgfplots/refstyle=Viskositaet} \addlegendentry{Schubspannung} \addlegendentry{Viskosität} \end{axis} \end{tikzpicture} \end{figure} \end{document} Ergebnis: ![alt text][3] ![alt text][4] Bitte beachte, dass ich zusätzlich `inputenc` zur Angabe der Eingabekodierung geladen habe und dass es nicht sinnvoll ist, im Argument von `\label` Umlaute zu verwenden. verwenden. Außerdem habe ich den Code noch etwas überarbeitet und unnötige Doppeleinstellungen entfernt. ---------- Alternativ kann man das Problem auch lösen, wenn man mit \pgfplotsset{set layers} die Nutzung von Ebenen aktiviert. Bei den dann aktivierten Standardebenen wird die mit den Ticks vor der mit den Achsen ausgegeben. [1]: http://texwelt.de/wissen/upfiles/xtick_1.png [2]: http://texwelt.de/wissen/upfiles/xtick1.png [3]: http://texwelt.de/wissen/upfiles/xtick2_1.png [4]: http://texwelt.de/wissen/upfiles/xtick3_1.png
Klicke auf Einblenden/Ausblenden von Überarbeitungen 2

30 Jul '14, 19:07

esdd's gravatar image

esdd
17.8k304257

Die grauen Striche sind tatsächlich da, auch mit Version 1.10 und ergänztem `\pgfplotsset{compat=1.10}`: ![alt text][1] Sie werden von dem zweiten Plot durch die Option `axis y line*=right,` line*=right` in Kombination mit dem Zeichnen der `xtick` erzeugt. Da die linke Achse fehlt, wird dort ein grauer `xtick` eingefügt. Dieser landet dann auf der linken Achse des ersten Plots. Sichtbar wird das, wenn man den ersten Plot (und den zugehörigen Legendeneintrag) auskommentiert: ![alt text][2] Vermeiden lässt sich das zum einen in dem man die ohnehin überflüssige Erstellung von `xtick`s im zweiten Plot mit `xtick=\empty` abstellt, da diese schon vom ersten Plot ausgegeben werden und/oder zum anderen in dem man beim zweiten Plot beide Achsen zeichnen lässt und nur die `yticklabel` mit Hilfe von `yticklabel pos=right` auf die rechte Seite schiebt. \documentclass{scrbook} \usepackage{pgfplots} \pgfplotsset{compat=1.10}% derzeit aktuelle Version \usepackage{siunitx} \usepgfplotslibrary{units} \pgfplotsset{ width=\textwidth, height = 0.4\textheight, compat=newest, minor tick style={black}, legend style={cells={anchor=west}}, every axis legend/.append style={at={(0.99, 0.99)}, anchor=northeast}, ticklabel shift={0.05cm} } \usepackage[utf8]{inputenc}% Eingabekodierung, gegebenenfalls anpassen \begin{document} \begin{figure}[htb] \centering \begin{tikzpicture} \begin{axis}[grid = major, width = \textwidth-45pt, height = 0.4\textheight, xlabel near ticks, ylabel near ticks, xlabel = {Scherrate}, x unit=\si{\second}, ylabel = {aaa}, y unit=\si{\percent}, xmin=0, xmax=100, ymin=400, ymax=700, x tick label style={/pgf/number format/1000 sep=} ] \addplot[color = blue, mark = none] table {\jobname A.dat}; \label{Viskositaet}% keine Umlaute verwenden!!! \end{axis} \begin{axis}[width = \textwidth-45pt, height = 0.4\textheight, %axis y line*=right,% besser beide Achsen zeichnen lassen yticklabel pos=right,% yticklabel auf der rechten Seite ylabel = {xxx}, y unit=\si{\percent}, xmin=0, xmax=100, ymin=0, ymax=300, xtick=\empty,% xticks nicht noch einmal zeichnen %x tick label style={/pgf/number format/1000 sep=}, legend pos=north east, legend cell align=left, legend style={at={(0.99,0.99)}} ] \addplot[color = red, mark = none] table {\jobname B.dat}; \addlegendimage{/pgfplots/refstyle=Viskositaet} \addlegendentry{Schubspannung} \addlegendentry{Viskosität} \end{axis} \end{tikzpicture} \end{figure} \end{document} Ergebnis: ![alt text][3] ![alt text][4] Bitte beachte, dass ich zusätzlich `inputenc` zur Angabe der Eingabekodierung geladen habe und dass es nicht sinnvoll ist, im Argument von `\label` Umlaute zu verwenden. [1]: http://texwelt.de/wissen/upfiles/xtick_1.png [2]: http://texwelt.de/wissen/upfiles/xtick1.png [3]: http://texwelt.de/wissen/upfiles/xtick2_1.png [4]: http://texwelt.de/wissen/upfiles/xtick3_1.png
Klicke auf Einblenden/Ausblenden von Überarbeitungen 1

30 Jul '14, 19:02

esdd's gravatar image

esdd
17.8k304257