为了二维地显示具有两个变量的函数的属性,我想固定一个变量,但让它在水平放置的相邻图之间增加,例如绘制固定变量分别设置为 0.2、0.4、0.6 和 0.8 的函数。一种方法是绘制一个在达到最大值后重置的 x 轴。然后这些图共享 y 轴。如何使用 实现这一点pgfplots
?
下面是实现此目的的粗略尝试。其中一个问题是它被构造为单独的tikzpicture
s,可能会跨行断开(如果示例的后半部分未注释,就会发生这种情况)。另一个问题是 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}
情节之间没有断点(只有一个单词空格)。