问题
为什么x-axis
指向右侧和y-axis
指向页面内部似乎是默认设置?当我在以下链接中找到页面时,答案恰好展示了轴在我教授一年级的大学中默认使用的方式。这就是我在被错误分散注意力时试图实现的目标。
我最初的解决方案是使用view/h=120
轴选项,它至少使 x 指向页面外,y 指向右侧,但不是水平的。
我发现的另一个解决方案是设置 x、y 和 z 向量。我花了很长时间才在手册中找到这个,因为这三个字母到处都是,我最终编造了一个搜索字符串来缩小范围。不过设置向量似乎有点麻烦。
看起来还不错,但需要对数字进行一些调整才能找到合理的结果。有没有关于如何最好地实现 z 轴垂直向上、y 轴水平向右、x 轴向左下对角线向外的建议?或者,无论您选择什么方向,如何最好地做到这一点。
结论
目前,指定所有三个矢量方向,然后调整它们的缩放比例,使结果看起来相对平衡,这是控制 3D 轴方向的最佳方法。我非常期待 Christian 提出的新功能,这样我们只需要指定矢量方向。那会很酷。
平均能量损失
\documentclass{standalone}
\usepackage{amsmath}
\usepackage{amssymb}
\usepackage{pgfplots}
\usepackage{mathtools}
\pgfplotsset{compat=1.9}
\begin{document}
%
\par\begin{tikzpicture}
%
\begin{axis}[
xlabel={$x$}, ylabel={$y$}, zlabel={$z$},
x={(-0.3cm,-0.3cm)}, y={(.5cm,0.0cm)}, z={(0cm,.1cm)},
axis lines=middle, axis on top,
xtick={-2,2}, ytick={-2,2},ztick={16,32},
enlargelimits=true
]
\addplot3[surf, thick, color=green, domain=-4:4] {x^2+y^2};
%
\end{axis}
%
\end{tikzpicture}
%
\end{document}
答案1
您的选择需要手动提供单位向量,因为view
关键是不会生成倾斜轴。这意味着明确提供单位向量是目前实现此特定视图的最佳方式。
这条注释是关于向量的方向的。以下是关于(相对)大小的注释:
pgfplots 中有一个功能,您可以提供x=...,y=...,z=...
并scale mode=scale uniformly
为了尊重方向和相对长度并通过共同因子重新缩放。
好像有应该也得到支持scale mode=stretch to fill
——在这种情况下,摆弄就没有必要了:你可以说x={-0.3,-0.3}, y={1,0}, z={0,1}, scale mode=stretch to fill
一切都会好起来的。
不幸的是,该选项似乎不受支持。我将其视为 的功能请求/错误报告pgfplots
;它最终将可用(应该相当简单,因为所有必需的机制都可用)。
编辑 由于您对该功能感兴趣,我尝试了一下,并得出以下结论。我设想的该功能输入内容如下
x={(-.307pt,-.307pt)}, y={(1pt,0.0pt)}, z={(0pt,1pt)},
scale mode=stretch to fill,
因此,pgfplots
将能够产生
注意力:目前没有可用的功能。