我有 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}