使用以下示例代码:
\documentclass{article}
\usepackage{pgfplots}
\pgfplotsset{compat=newest}
\begin{document}
\begin{tikzpicture}
\begin{axis}[
xlabel=$x$,
ylabel={$f(x) = x^2 - x +4$}
]
% use TeX as calculator:
\addplot {x^2 - x +4};
\addlegendentry{First plot}
\addplot [xshift=1cm]{x^2 - x +4};
\addlegendentry{Second plot}
\end{axis}
\end{tikzpicture}
\end{document}
创建这个带有奇怪图例的图表:
我猜这是由于情节的 xshift 属性造成的,但我该如何恢复它呢?
答案1
您可以通过将“图例图像”(即图例中绘制的小图摘录)向后移动相同的距离来恢复此移动。为此,请将选项设置legend image post style={xshift=-1cm}
为\addplot
。
需要指出的是,使用xshift
并不是真正“正确”的转移情节的方法,因为它在错误的层面上起作用(您只是转移了路径,而不是“逻辑”情节)。您应该调整函数:在这种情况下,您应该使用(x-1)^2 - (x-1) +4
而不是x^2 - x +4
。
另一个选项是使用 来x filter/.code=\pgfmathparse{\pgfmathresult+1}
操纵 x 坐标。如果你想在不改变绘图表达式的情况下移动绘图,这会很方便。
下面的代码展示了所有三种方法,也展示了该xshift
方法存在的问题:
\documentclass{article}
\usepackage{pgfplots}
\pgfplotsset{compat=newest}
\begin{document}
\begin{tikzpicture}
\begin{axis}[
xlabel=$x$,
ylabel={$f(x) = x^2 - x +4$}
]
% use TeX as calculator:
\addplot {x^2 - x +4}; \addlegendentry{First plot}
\addplot +[xshift=1cm,legend image post style={xshift=-1cm}]{x^2 - x +4}; \addlegendentry{Second plot}
\addplot {(x+1)^2 - (x+1) +4}; \addlegendentry[]{Third plot}
\addplot +[x filter/.code=\pgfmathparse{\pgfmathresult-2}] {(x+1)^2 - (x+1) +4}; \addlegendentry{Fourth plot}
\end{axis}
\end{tikzpicture}
\end{document}