PGFplots:使用表格功能

PGFplots:使用表格功能

我有 4 组数据,它们都具有相同的 t 值(x 轴)。可以一次读入所有列表吗?

\documentclass[tikz]{standalone}
\usepackage{pgfplots}
\pgfplotsset{compat = 1.10}
\begin{document}
\begin{axis}
\addplot table{
     t  actual  measured  est Q = 0.01  est Q = 0.1
    .1  .1     .2107      .2107         .2107
    .2  .2     .5954      .4122         .4671
    .3  .3     .5940      .4820         .5464
    .4  .4     .4758      .4800         .5027
    .5  .5     .3183      .4207         .3661
    .6  .6     .4060      .4131         .3833
    }
\end{axis}
\end{document}

可以这样读入 4 行吗?如果可以,我该如何使用 4 个不同的标记来区分它们?

答案1

是的,一点没错:

截屏

这个想法是将数据读入一个宏(\mydata在下面的代码中调用),然后您可以使用,例如:

  \addplot table[x=t,y=actual]{\mydata};

并根据需要指定x和。y

请注意,如果您想在列名中使用空格,则需要将它们括在括号中;例如,您会注意到我{est Q = 0.1}在列名和addplot命令中都使用了空格。

这是一个完整的 MWE,它阐述了这个想法。

% arara: pdflatex
\documentclass[tikz]{standalone}
\usepackage{pgfplots}
\pgfplotsset{compat = 1.10}
\begin{document}

\pgfplotstableread{
t  actual  measured  {est Q = 0.01}  {est Q = 0.1}
    .1  .1     .2107      .2107         .2107
    .2  .2     .5954      .4122         .4671
    .3  .3     .5940      .4820         .5464
    .4  .4     .4758      .4800         .5027
    .5  .5     .3183      .4207         .3661
    .6  .6     .4060      .4131         .3833
    }\mydata
\begin{tikzpicture}
\begin{axis}
  \addplot table[x=t,y=actual]{\mydata};
  \addplot table[x=t,y=measured]{\mydata};
  \addplot table[x=t,y={est Q = 0.01}]{\mydata};
  \addplot table[x=t,y={est Q = 0.1}]{\mydata};
\end{axis}
\end{tikzpicture}
\end{document}

相关内容