图表数据来自不同的文件

图表数据来自不同的文件

是否可以pgfplots使用来自不同文件的数据绘制图表?

假设我有两个数据文件:data.daterror.dat,我想绘制第 1 列与第 0 列的图表data.dat,并添加误差线error.dat

如果所有数据都来自同一个文件all.dat,我会使用:

\pgfplotstableread{./all.dat}\mytable

\addplot  table[x index=0,y index=1, y error index=3]{\mytable};

答案1

这是可能的。您可以使用以下方法动态地从不同的表中获取列

\pgfplotstableset{
    create on use/<new column name>/.style={
        create col/copy column from table={<file or table>}{<column name>}
    }
}

因此,为了得到类似

你可以做类似的事情

\documentclass{article} 
\usepackage{filecontents}
\begin{filecontents}{data.dat}
X   Y
1   3
2   7
3   4
4   5
5   5
6   9
\end{filecontents}

\begin{filecontents}{error.dat}
Errors
1
3
2
2.5
3
1
\end{filecontents}

\usepackage{pgfplots,pgfplotstable}

\pgfplotstableread{data.dat}\datatable

\pgfplotstableset{
    create on use/errors/.style={
        create col/copy column from table={error.dat}{Errors}
    }
}


\begin{document}
\begin{tikzpicture}
\begin{axis}[xmin=0,ymin=0]
\addplot +[
    black,
    error bars/.cd,
        y explicit,
        y dir=both
    ] table [y error=errors] {\datatable};
\end{axis}
\end{tikzpicture}

\end{document}

相关内容