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={...}]