pgfplots:在样式中使用时,元键不起作用

pgfplots:在样式中使用时,元键不起作用

这是一个后续问题问题。

\documentclass{standalone}

\usepackage{pgfplots}

% Style with meta option
\pgfplotsset{
    myStyleWithMeta/.style={    
        meta=Label, 
    }
}

\begin{document}

\begin{tikzpicture}
\begin{axis}[
    axis lines = middle,
    enlargelimits = true,
    xlabel = {Travel $s$ in mm},
    ylabel = {Force $F$ in N},
    width =120mm,
    height= 80mm,
    title = {Force-Travel-Diagram},
]
\addplot[
    line width=1pt,
    mark=*,
    x=s,
    y=F,
    nodes near coords,
    point meta=explicit symbolic,
    nodes={font=\small},
    nodes near coords align={anchor=west},
] table
[
row sep=\\,
meta=Label,
% --------------------------------------
% Use of style with meta option
% Comment it out and it works
% --------------------------------------
myStyleWithMeta,
] 
{
s F Label\\
0 0 {$P_0$}\\
0.03 2 {$P_1$}\\
0.7 6 {$P_2$}\\
0.71 5 {$P_3$}\\
1.4 12 {$P_4$}\\
};
\end{axis}
\end{tikzpicture}

\end{document}

table命令中我使用选项meta=LabelLabel我的数据中的列在哪里。现在我尝试将所有选项放入样式中,效果很好,直到我将选项放入meta样式中。在 MWE 中,我只将选项放入meta名为的样式中myStyleWithMeta

我得到了错误

! Package pgfkeys Error: I do not know the key '/tikz/meta', to which you passed 'Label', and I am going to ignore it. Perhaps you misspelled it.

有人可以重现该错误并可能有解决方案吗?

答案1

您需要将table子系列添加到样式中。表选项必须是的子键/table/。否则pgfplots无法理解它并认为它可能是 TikZ 键。这就是您遇到/tikz/meta错误的原因。

因此你需要

\pgfplotsset{
    table/myStyleWithMeta/.style={    
        meta=Label, 
    }
}

然后它就起作用了

相关内容