有pgfplots
没有办法将所有数据放在单身的 数据库文件?现在我将共享相同 x 值的线合并到一个文件中,但对于使用不同 x 值的每个图,我必须有一个不同的数据文件。有没有办法合并这些文件?
换句话说,在下面的 MWE 中,有没有办法line12.dat
与相结合line3.dat
。我的情节比这复杂得多,每行都有一个文件非常笨重。
nan
我知道我可以对未在 x 值中定义的行使用。但我希望有更好的方法,因为如果行不共享许多 x 值(如下所示),数据文件可能会变得非常冗长。
\documentclass{standalone}
\usepackage{pgfplots}
\pgfplotsset{compat=newest}
\begin{filecontents}{line12.dat}
x y1 y2
0 1 2
1 2 5
2 3 5
4 5 3
7 9 1
\end{filecontents}
\begin{filecontents}{line3.dat}
x y
2 1
4.1 2
6.1 3
8.1 5
10.1 9
\end{filecontents}
\begin{document}
\begin{tikzpicture}
\begin{axis}
\addplot[] table[x=x, y=y1] {line12.dat};
\addplot[] table[x=x, y=y2] {line12.dat};
\addplot[] table[x=x, y=y] {line3.dat};
\end{axis}
\end{tikzpicture}
\end{document}
答案1
一般的答案是:不.
要求是全部列必须具有相同数量的行。
但它是对于您的具体示例来说,这是可能的,因为每列都有 5 个数据点......
% used PGFPlots v1.15
\begin{filecontents*}{line123.dat}
x1 y1 y2 x3 y3
0 1 2 2 1
1 2 5 4.1 2
2 3 5 6.1 3
4 5 3 8.1 5
7 9 1 10.1 9
\end{filecontents*}
\documentclass[border=5pt]{standalone}
\usepackage{pgfplots}
\begin{document}
\begin{tikzpicture}
\begin{axis}
\addplot table [x=x1, y=y1] {line123.dat};
\addplot table [x=x1, y=y2] {line123.dat};
\addplot table [x=x3, y=y3] {line123.dat};
\end{axis}
\end{tikzpicture}
\end{document}