我正在使用 pgfplots 进行晶体学数据分析。我可以有效地使用yshift
它在轴环境中移动绘图,但是,图例条目行引用也会移动。我最初打算使用 pgfplotstable 简单地添加或减去每个要移动的数据点,但这需要大量计算(许多数据点)。请原谅常数绘图黑客有一个下拉绘图。代表性代码(由评论者提供):
\documentclass{standalone}
\usepackage{pgfplots}
\usepackage{pgfplotstable}
\pgfplotsset{compat = 1.13}
\pgfplotstableset{col sep = comma}
\begin{document}
\pgfplotstableread{
20, 1000
70, 500
}{\data}
\begin{tikzpicture}
\begin{axis}
\addplot[black] table[x index = 0, y index = 1, col sep = comma] {\data};
\addlegendentry[]{040\_Mn}
\addplot[red!20!blue] table[x index = 0, y expr={\thisrowno{1} - 500}] {\data};
\addlegendentry[]{023\_Mn}
\addplot[yshift=-2cm,red!20!blue] table[x index = 0, y index=1] {\data};
\addlegendentry[]{035\_Mn}
\addplot[yshift = -5cm, red!30!blue] expression {x^2};
\end{axis}
\end{tikzpicture}
\end{document}
答案1
这里有两个选项。首先,yshift
使用类似
\addplot[red!20!blue] table[x index = 0, y expr={\thisrowno{1} - 500}] {\data};
这会从表中的 y 值中减去 500。您可以使用文本文件的名称,而不必先加载到宏中(此处\data
)。
另一个选项是使用yshift
,但添加forget plot
到\addplot
选项中。forget plot
禁用将图添加到图例中,因此您需要\addlegendimage{<style options for plot>}
。
\documentclass{standalone}
\usepackage{pgfplots}
\usepackage{pgfplotstable}
\pgfplotsset{compat = 1.13}
\pgfplotstableread[col sep=comma]{
20, 1000
70, 500
}{\data}
\begin{document}
\begin{tikzpicture}
\begin{axis}
\addplot[black] table[x index = 0, y index = 1] {\data};
\addlegendentry[]{040\_Mn}
\addplot[red!20!blue] table[x index = 0, y expr={\thisrowno{1} - 500}] {\data};
\addlegendentry[]{023\_Mn}
\addplot[yshift=-2cm,green,forget plot] table[x index = 0, y index=1] {\data};
\addlegendimage{green}
\addlegendentry{shifted}
\end{axis}
\end{tikzpicture}
\end{document}