如何自动/动态地调整 3D pgfplots 中轴标签和刻度标签的位置?

如何自动/动态地调整 3D pgfplots 中轴标签和刻度标签的位置?

我怎样才能调整axis label ticklabels自动动态地pgfplots?目前我总是将它们移动指定的距离(以厘米为单位)。但这样,我在更改图的height和时总是遇到问题。width

下面是两个最小的工作示例,具有Latex我所期望的结果。

如果解决方案有效,那就太好了对全部 xyz axis

谢谢。

第一的:

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


\begin{document}
    \begin{tikzpicture}
        \begin{axis}[
            xlabel=Hello,
            ylabel=Bye,
        ]
            \addplot3[
                surf,
                samples = 10,
            ]
            {y};
        \end{axis}
    \end{tikzpicture}
\end{document}

在此处输入图片描述

第二:

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


\begin{document}
    \begin{tikzpicture}
        \begin{axis}[
            xlabel=Hello,
            ylabel=Bye,
            xlabel style = {xshift=3cm,yshift=6.2cm},
            xticklabel style = {xshift=2.5cm,yshift=5.5cm},
        ]
            \addplot3[
                surf,
                samples = 10,
            ]
            {y};
        \end{axis}
    \end{tikzpicture}
\end{document}

在此处输入图片描述

答案1

您可以使用轴选项:

  • xticklabel pos=right
  • yticklabel pos=right
  • zticklabel pos=right

这个 MWE 绘制了你的第二张图表:

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


\begin{document}
    \begin{tikzpicture}
        \begin{axis}[
            xlabel=Hello,
            ylabel=Bye,
            xticklabel pos=right,
            %yticklabel pos=right,
            %zticklabel pos=right,
        ]
            \addplot3[
                surf,
                samples = 10,
            ]
            {y};
        \end{axis}
    \end{tikzpicture}
\end{document}

相关内容