Ich verwende pgfplots, \addplot3
um Konturdiagramme von Funktionen mit zwei Variablen zu zeichnen, wie sie in der (x,y)-Ebene zu sehen sind (mit view={0}{90}
). Die Standardplatzierung der Achsenbeschriftungen ist jedoch seltsam (ich vermute, aufgrund der 3D-Darstellung).
Ich möchte das x rechts vom Pfeil der x-Achse und das y über dem Pfeil der y-Achse haben. Ich bin diesem Beispiel gefolgt.Frage, aber das Ändern des Ankers xlabel style
scheint nichts an der Grafik zu ändern.
MWE:
\documentclass{standalone}
\usepackage{tikz,pgfplots}
\pgfplotsset{
% use `compat' level 1.8 or higher
compat=1.8,
% just put all the options in here and it will work as expected
every axis/.append style={
axis lines=center,
xlabel style={anchor=south west},
ylabel style={anchor=south west},
zlabel style={anchor=south west},
tick align=outside,
},
}
\begin{document}
\begin{tikzpicture}[scale=0.85,font=\large]
\begin{axis}[ ,
axis lines=center,
view={0}{90},
xlabel=$x$, ylabel=$y$,
]
\addplot3 [
contour gnuplot={levels={0.5,2}},
domain=0:2,y domain=0:2
] {2*x*y };
\end{axis}
\end{tikzpicture}
\end{document}
Antwort1
Es scheint, dass beim Definieren des Achsenbeschriftungsstils \pgfplotset
die Stileigenschaften nicht an Gnuplot übergeben werden. Daher müssen Sie ihn in der Achsenumgebung definieren. Sie können die Position der Beschriftungen auch folgendermaßen steuern:
x label style={at={(axis description cs:1.1,0.0)},anchor=center},
MWE:
\documentclass{standalone}
\usepackage{tikz,pgfplots}
\pgfplotsset{
% use `compat' level 1.8 or higher
compat=1.8,
}
\begin{document}
\begin{tikzpicture}[scale=0.85,font=\large]
\begin{axis}[ ,
axis lines=center,
view={0}{90},
xlabel=$x$, ylabel=$y$,
% x label style={anchor=south west},
% y label style={anchor=south west},
x label style={at={(axis description cs:1.1,0.0)},anchor=center},
y label style={at={(axis description cs:0.0,1.1)},anchor=center},
]
\addplot3 [
contour gnuplot={levels={0.5,2}},
domain=0:2,y domain=0:2
] {2*x*y};
\end{axis}
\end{tikzpicture}
\end{document}
PS: Vladimir war schneller als ich ...:)
Antwort2
Sie können die Position der Achsenbeschriftungen innerhalb der Achsenumgebung festlegen.
\documentclass{standalone}
\usepackage{tikz,pgfplots}
\pgfplotsset{
% use `compat' level 1.8 or higher
compat=1.8,
% just put all the options in here and it will work as expected
every axis/.append style={
axis lines=center,
tick align=outside,
},
}
\begin{document}
\begin{tikzpicture}[scale=0.85,font=\large]
\begin{axis}[ ,
axis lines=center,
view={0}{90},
xlabel style={right, yshift=5pt},
ylabel style={above, xshift=5pt},
xlabel=$x$, ylabel=$y$,
domain=0:2,y domain=0:2,
]
\addplot3 [
contour gnuplot={levels={0.5,2}},
samples=50,
] {2*x*y };
\end{axis}
\end{tikzpicture}
\end{document}
Die Parameter xshift
und yshift
können weggelassen werden.