pgfplots:3D 轴系统。反向 xlabel

pgfplots:3D 轴系统。反向 xlabel
  • 这个问题是关于 中的 3D 坐标系pgfplots
  • 问题 1:我想要xlabel“另一边”(x dir = reverse,已经尝试过了)。
  • 问题2:这点不太重要(有就好)。我想要像手绘一样的透视图(y 和 z 完美交叉,第三维,深度,用 45 度线表示:x),请参阅手绘中的“备注”。补充说明:在手绘中我使用了不同的标签(这是典型的汽车坐标系)。但我可以通过命名xlabel "y"等来伪造它。

\documentclass{standalone} 
\usepackage{pgfplots}
\pgfplotsset{compat=1.18}

\begin{document}

\begin{tikzpicture}
    \begin{axis}[
        width = 80mm,
        height = 80mm,
        axis lines = center,
        no marks,
        axis line style = {latex-latex, ultra thick}, % 
        unit vector ratio = 1 1 1,
        ticks = none,
        xmin = -1,
        xmax = 1,
        ymin = -1,
        ymax = 1,   
        zmin = -1,
        zmax = 1,   
        xlabel = $x$,
        ylabel = $y$,
        zlabel = $z$,
    ]
    % No plot
    \end{axis}
\end{tikzpicture}

\end{document}

在此处输入图片描述

在此处输入图片描述

有关的

答案1

对于第一个请求,您可以使用交换和x dir=reverse的位置。但是,这不会移动。在这里您可以使用xminxmaxxlabel

every axis x label/.style={at=(ticklabel cs:-0.07)}

开始ticklabel cs:0轴的一端,结束于1轴的另一端,因此0.07标签刚好位于轴的“起点”之外。将它们放在一起,并添加一个显示 x 和 y 正第一象限的图,并使用相同的想法调整ylabel,我们得到

示例输出

\documentclass{standalone}
\usepackage{pgfplots}
\pgfplotsset{compat=1.18}

\begin{document}

\begin{tikzpicture}
    \begin{axis}[
        width = 80mm,
        height = 80mm,
        axis lines = center,
        no marks,
        axis line style = {latex-latex, ultra thick}, %
        unit vector ratio = 1 1 1,
        ticks = none,
        xmin = -1,
        xmax = 1,
        ymin = -1,
        ymax = 1,
        zmin = -1,
        zmax = 1,
        x dir=reverse,
        every axis x label/.style={at={(xticklabel cs:-0.07)}},
        every axis y label/.style={at={(yticklabel cs:1.07)}},
        xlabel = $x$,
        ylabel = $y$,
        zlabel = $z$,
    ]
    \addplot3 [surf, z buffer=sort, samples=15, variable=\u,
    variable y=\v, domain=0:1, y domain=0:1, opacity=0.5]
    ({u},{v},0);
    \end{axis}
\end{tikzpicture}

\end{document}

不幸的pgfplots是不支持透视绘图。

相关内容