控制 3D PGF 图中的方向

控制 3D PGF 图中的方向

问题

为什么x-axis指向右侧和y-axis指向页面内部似乎是默认设置?当我在以下链接中找到页面时,答案恰好展示了轴在我教授一年级的大学中默认使用的方式。这就是我在被错误分散注意力时试图实现的目标。

我最初的解决方案是使用view/h=120轴选项,它至少使 x 指向页面外,y 指向右侧,但不是水平的。

我发现的另一个解决方案是设置 x、y 和 z 向量。我花了很长时间才在手册中找到这个,因为这三个字母到处都是,我最终编造了一个搜索字符串来缩小范围。不过设置向量似乎有点麻烦。

看起来还不错,但需要对数字进行一些调整才能找到合理的结果。有没有关于如何最好地实现 z 轴垂直向上、y 轴水平向右、x 轴向左下对角线向外的建议?或者,无论您选择什么方向,如何最好地做到这一点。

结论

目前,指定所有三个矢量方向,然后调整它们的缩放比例,使结果看起来相对平衡,这是控制 3D 轴方向的最佳方法。我非常期待 Christian 提出的新功能,这样我们只需要指定矢量方向。那会很酷。

平均能量损失

MWE 输出

\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将能够产生

在此处输入图片描述

注意力:目前没有可用的功能。

相关内容