注意:这是一个错误,已修复
Christian 已经回答了这个问题。这是一个在 pgfplots 1.8 中已解决的错误。我已更新我的 pgfplots,现在正在运行 1.9。
顺便说一句,y dir=reverse
这只是一个实验,因为我正在学习如何控制轴的方向。
原始问题
我正在使用 \addplot3,我已设置axis lines=middle
,轴标签(使用xlabel={$x$}
等)乱七八糟。x 几乎在正确的位置,但 z 和 y 位于右上角的顶部,与实际图形相距甚远。
在下面的输出图中您可以清楚地看到我上面描述的内容。
平均能量损失
\documentclass{standalone}
\usepackage{amsmath}
\usepackage{amssymb}
\usepackage{pgfplots}
\usepackage{mathtools}
\begin{document}
%
\par\begin{tikzpicture}
%
\begin{axis}[
xlabel={$x$}, ylabel={$y$}, zlabel={$z$},
axis lines=middle, axis on top,
xtick={-2,2}, ytick={-2,2},ztick={16,32},
y dir=reverse,
enlargelimits=true
]
\addplot3[surf, thick, color=green, domain=-4:4] {x^2+y^2};
%
\end{axis}
%
\end{tikzpicture}
%
\end{document}
答案1
这是 pgfplots 版本 1.8 中已修复的错误的输出。
为了与 1.8 版之前最终用户提出的各种解决方法保持兼容,您必须通过\pgfplotsset{compat=1.8}
序言中的方式启用错误修复:
\documentclass{standalone}
\usepackage{amsmath}
\usepackage{amssymb}
\usepackage{pgfplots}
\usepackage{mathtools}
\pgfplotsset{compat=1.8}
\begin{document}
%
\par\begin{tikzpicture}
%
\begin{axis}[
xlabel={$x$}, ylabel={$y$}, zlabel={$z$},
axis lines=middle, axis on top,
xtick={-2,2}, ytick={-2,2},ztick={16,32},
y dir=reverse,
enlargelimits=true
]
\addplot3[surf, thick, color=green, domain=-4:4] {x^2+y^2};
%
\end{axis}
%
\end{tikzpicture}
%
\end{document}
因此,为了修复该示例,您必须编写\pgfplotsset{compat=1.8}
。如果您的版本太旧,这将失败。当前稳定版本是 1.9。