나는 \addplot3
(x,y) 평면에서 볼 수 있듯이 두 변수 함수의 등고선 플롯을 플롯하기 위해 pgfplots를 사용하고 있습니다 view={0}{90}
. 그러나 축 레이블의 기본 배치는 이상합니다(3D 방식 때문에 의심됩니다).
x축 화살표 오른쪽에 x를 두고 y축 화살표 위에 y를 두고 싶습니다. 나는 이것을 따랐다질문, 그러나 앵커를 변경해도 xlabel style
그래프에는 아무 것도 변경되지 않는 것 같습니다.
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}
답변1
축 레이블 스타일을 정의해도 \pgfplotset
스타일 속성이 Gnuplot에 전달되지 않는 것 같습니다. 따라서 축 환경에서 정의해야 합니다. 다음을 사용하여 라벨 위치를 제어할 수도 있습니다.
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}
추신: Vladimir는 나보다 빨랐습니다...:)
답변2
축 환경 내에서 축 레이블의 위치를 지정할 수 있습니다.
\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}
xshift
및 매개 yshift
변수는 생략될 수 있습니다.