Estoy usando pgfplots \addplot3
para trazar diagramas de contorno de funciones de dos variables, como se ve en el plano (x,y) (usando view={0}{90}
). Sin embargo, la ubicación predeterminada de las etiquetas de los ejes es extraña (sospecho que debido a cómo están en 3D).
Me gustaría tener la x a la derecha de la flecha del eje x y la y encima de la flecha del eje y. he seguido estopregunta, pero cambiar el ancla xlabel style
no parece cambiar nada en el gráfico.
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}
Respuesta1
Parece que definir el estilo de la etiqueta del eje \pgfplotset
no pasa las propiedades de estilo a Gnuplot. Por lo tanto, hay que definirlo en el entorno del eje. También puedes controlar la posición de las etiquetas con:
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}
PD: Vladimir ha sido más rápido que yo... :)
Respuesta2
Puede especificar la ubicación de las etiquetas de los ejes dentro del entorno del eje.
\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}
Los parámetros xshift
y yshift
se pueden omitir.