'legend entry={...}' 和 'y filter/.code={...}' 出现编译错误

'legend entry={...}' 和 'y filter/.code={...}' 出现编译错误

y filter/.code={...}除非我删除或选项,否则以下示例无法编译[legend entries={...}]:这是一个错误吗?

\documentclass{article}
\usepackage{pgfplots}
\pgfplotsset{width=7cm,compat=1.9}

\begin{document}
\begin{tikzpicture}
\begin{axis}[legend entries={$T_2$}]
\addplot [
  black, mark=o,
  y filter/.code={\pgfmathadd{#1}{-273.15}}
] table [x index=0, y index=2] {
% Z [ m ], T_1 [ K ], T_2 [ K ], T_3 [ K ]
8.82351398e-03 5.59299194e+02 5.59402649e+02 5.59561707e+02
6.17647171e-02 5.59371826e+02 5.59538818e+02 5.59796021e+02
1.14705920e-01 5.59466797e+02 5.59699219e+02 5.60057556e+02
1.67647123e-01 5.59586304e+02 5.59883911e+02 5.60343323e+02
2.20588207e-01 5.59727844e+02 5.60091980e+02 5.60654602e+02
2.73529410e-01 5.59903564e+02 5.60327087e+02 5.60982483e+02
3.26470613e-01 5.60062622e+02 5.60573364e+02 5.61363403e+02
3.79411817e-01 5.60223877e+02 5.60828369e+02 5.61762695e+02
4.32352901e-01 5.60391724e+02 5.61091370e+02 5.62172058e+02
};
\end{axis}[
\end{tikzpicture}

\end{document}

答案1

y filter在命令的选项中使用时\addplot(而不是在axis选项中使用),您需要使用\pgfmathresult来引用当前值,而不是#1

来自手册:

请注意,您可以为每个命令提供不同的x filter/y filter参数\addplot。似乎只有参数存在问题#1 ,我还没有找到原因。如果您提供 ,请使用\pgfmathresult 代替。#1\addplot[x filter/.code={...}]

相关内容