我需要移动图中的几条曲线,但移动方式与数据的比例无关。例如,我需要将每条曲线移动图比例的五分之一左右。
假设需要绘制几条非常相似的曲线:
\documentclass{article}
\usepackage{pgfplots}
\begin{document}
\begin{tikzpicture}
\begin{axis}
\addplot+[
] coordinates{
( 1, 2 )
( 2, 3 )
( 3, 4 )
};
\addplot+[
] coordinates{
( 1, 2.1 )
( 2, 2.9 )
( 3, 4.1 )
};
\end{axis}
\end{tikzpicture}
\end{document}
一种常用的技术(如果背景水平明显)是使用 Y 偏移。如下所示:
显而易见的方法是添加一个filter
来移动数据(如下所示)。但是,所有过滤器都会修改数据坐标中的数据,而不是相对于纸张上轴大小的单位。
\documentclass{article}
\usepackage{pgfplots}
\begin{document}
\begin{tikzpicture}
\begin{axis}
\addplot+[
y filter/.code={\pgfmathparse{#1+0.0}\pgfmathresult}
] coordinates{
( 1, 2 )
( 2, 3 )
( 3, 4 )
};
\addplot+[
y filter/.code={\pgfmathparse{#1+0.5}\pgfmathresult}
] coordinates{
( 1, 2.1 )
( 2, 2.9 )
( 3, 4.1 )
};
\end{axis}
\end{tikzpicture}
\end{document}
我怎样才能按照轴的大小比例移动数据(例如在 Y 方向)?
发帖后我在这里找到了这个答案: 如何在不堆叠 pgfplots 的情况下在 y 方向对 ycomb 或 ybar 进行移动/偏移?,但它的问题在于它也改变了传说中的观点!
答案1
您可以使用 来抵消情节\addplot [yshift=1cm, legend image post style={yshift=-1cm}]
。