如何绘制带有重置轴的图?

如何绘制带有重置轴的图?

为了二维地显示具有两个变量的函数的属性,我想固定一个变量,但让它在水平放置的相邻图之间增加,例如绘制固定变量分别设置为 0.2、0.4、0.6 和 0.8 的函数。一种方法是绘制一个在达到最大值后重置的 x 轴。然后这些图共享 y 轴。如何使用 实现这一点pgfplots

下面是实现此目的的粗略尝试。其中一个问题是它被构造为单独的tikzpictures,可能会跨行断开(如果示例的后半部分未注释,就会发生这种情况)。另一个问题是 x 轴在重置后会断开。

粗略尝试重置 x 轴的绘图

\documentclass{article}

\usepackage{pgfplots}

\pgfplotsset{
  foo/.style={
    domain=0:1,
    xmin=0, xmax=1,
    ymin=-1, ymax=1,
    axis x line=bottom,
    width=5cm,
  }
}

\begin{document}

\begin{figure}
  \begin{tikzpicture}
    \begin{axis}[foo,
      axis y line=left
      ]
      \addplot{0.2 - x};
    \end{axis}
  \end{tikzpicture}
  \begin{tikzpicture}
    \begin{axis}[foo,
      hide y axis
      ]
      \addplot{0.4 - x};
    \end{axis}
  \end{tikzpicture}
  % \begin{tikzpicture}
  %   \begin{axis}[foo,
  %     hide y axis
  %     ]
  %     \addplot{0.6 - x};
  %   \end{axis}
  % \end{tikzpicture}
  % \begin{tikzpicture}
  %   \begin{axis}[foo,
  %     hide y axis
  %     ]
  %     \addplot{0.8 - x};
  %   \end{axis}
  % \end{tikzpicture}
\end{figure}

\end{document}

答案1

tikzpicture您可以使用groupplots(或明确执行)一次性完成所有操作。该groupplots库还可以对分离进行微调。

只需在序言中添加以下内容:

\usepgfplotslibrary{groupplots}

然后执行以下操作:

\begin{figure}
  \begin{tikzpicture}
    \begin{groupplot}[group style={group size=3 by 1,horizontal sep=.3cm}]
      \nextgroupplot[foo,axis y line=left]
      \addplot{0.2 - x};
      \nextgroupplot[foo,hide y axis]
      \addplot{0.4 - x};
      \nextgroupplot[foo, hide y axis]
      \addplot{0.6 - x};
   \end{groupplot}
 \end{tikzpicture} 
\end{figure}

设置group size您需要多少个彼此相邻的图(此处为 3x1 的图网格)。

通常,您不需要tikzpicture为每个axis环境创建一个新的。您只需移动图片中的轴位置即可。
这就是groupplots 自动地做。

你不能结尾过早结束轴。也就是说,如果不结束轴,则无法获取轴的结束箭头和其他样式细节。

但是,您可以更改刻度,从而更改刻度标签以在某些 之后重新启动x max。但是,这可能比仅使用 更麻烦groupplots

上述操作的最终结果是:

在此处输入图片描述

答案2

如果你去了

\begin{figure}
  \mbox{\begin{tikzpicture}...
 \end{tikzpicture}}
\end{figure}

情节之间没有断点(只有一个单词空格)。

相关内容