在 pgfplot 中重新定位轴、箭头和标记

在 pgfplot 中重新定位轴、箭头和标记

我正在使用该包制作 3D 图pgfplots。我旋转了最能显示我想要描绘的响应曲线的图形。但是,轴的位置不理想。此外,atkinson尽管在序言中调用了该包,但 pgfplot 的文本并非如此。我想在图形中更改以下内容:

  1. yz轴重新定位到图表的左侧。
  2. 制作情节字体atkinson
  3. 固定轴的各个箭头:使y axis向上的箭头z axis指向两个方向。

我的 MWE 如下:

\documentclass[margin=1cm]{standalone}
 
% Required package
\usepackage{tikz}
\usepackage{pgfplots}
\pgfplotsset{compat=1.18}
\usepgfplotslibrary{statistics}
 
 
\begin{document}
 \begin{tikzpicture}
\begin{axis}[
    view/h=-70,
    view/v=10,
    grid=both,
    xlabel=$I_a$, ylabel=$I_b$, zlabel=$R(s)$,
    colormap={blackwhite}{gray(0cm)=(1); gray(1cm)=(0)},
    axis lines=middle,
    axis line style={latex-, black},
]
\addplot3[
    surf,
    domain=-5:8,
    domain y=0.5:5,
    opacity = 0.75,
] {1/(1+exp(-(x/y)))};
\end{axis}
\end{tikzpicture}
\end{document}

目前的结果如下:

表面

答案1

至于字体,请参阅此答案,了解如何在绘图中使用无衬线字体。这并不简单,因为刻度数处于数学模式。因此,您基本上需要替换数学字体。但是,为此,您可以使用包sansmath。由于轴标签也包含数学,因此它们不会使用字体atkinson

关于轴的移动,这在 3D 绘图中有点棘手,因为您不能简单地沿其他维度之一移动轴(至少据我所知)。因此,我建议您在 y 轴上将绘图移动 5 并让轴在原点相交。

至于轴的箭头,您可以使用x axis line styley axis line stylez axis line style来单独设置轴的样式。

除上述之外,我还尝试优化刻度标签和轴标签的位置。

\documentclass[margin=1cm]{standalone}
 
\usepackage{pgfplots}
\pgfplotsset{compat=1.18}

\usepackage[sfdefault]{atkinson}
\usepackage{sansmath}
 
\begin{document}
\begin{tikzpicture}[font=\sansmath]
\begin{axis}[
    view/h=-70,
    view/v=10,
    grid=both,
    xlabel=$I_a$, ylabel=$I_b$, zlabel=$R(s)$,
    colormap={blackwhite}{gray(0cm)=(1) gray(1cm)=(0)},
    axis lines=center,
    x axis line style={stealth-},
    y axis line style={-stealth},
    z axis line style={stealth-stealth},
    xlabel style={at={(xticklabel cs:0,-20pt)}, anchor=south east},
    ylabel style={at={(yticklabel cs:0,-20pt)}, anchor=south west},
    zlabel style={at={(zticklabel cs:1,-30pt)}, anchor=west},
    xticklabel style={shift={(-2pt,2pt)}},
    zticklabel style={shift={(-4pt,0pt)}},
]
\addplot3[
    surf,
    domain=-5:8,
    domain y=-0.5:-5,
    opacity=0.75,
] {1/(1+exp(-(x/(y+5.5))))};
\end{axis}
\end{tikzpicture}
\end{document}

在此处输入图片描述

相关内容