Gnuplot:使用管道中的标题绘制几个数据集

时间:2016-05-24 14:55:29

标签: dataset pipe gnuplot

作为后续:Gnuplot: Plotting several datasets with titles from one file,我有一个test.dat文件:

"p = 0.1"
1 1
3 3
4 1


"p = 0.2"
1 3
2 2
5 2

我可以使用以下内容在gnuplot中绘制没有问题:

> plot for [IDX=0:1] 'test.dat' i IDX u 1:2 w lines title columnheader(1)

然而我无法管道数据。

以下是单行示例:

$ cat test.dat | gnuplot --persist -e "plot for [IDX=0:1] '-' i IDX u 1:2 w lines title columnheader(1)"
line 10: warning: Skipping data file with no valid points

我收到警告信息,只绘制了第一组。我试图在数据文件的末尾添加e,但没有运气......这应该是微不足道的,我犯了一个愚蠢的错误吗?

我已经搞得多了一些。所以这些工作:

gnuplot --persist -e "plot for [IDX=0:1] 'test.dat' i IDX u 1:2 w lines title columnheader(1)"
gnuplot --persist -e "plot for [IDX=0:1] '< cat test.dat' i IDX u 1:2 w lines title columnheader(1)"

这些不是:

cat test.dat | gnuplot --persist -e "plot for [IDX=0:1] '-' i IDX u 1:2 w lines title columnheader(1)"
cat test.dat | gnuplot --persist -e "plot for [IDX=0:1] '< cat' i IDX u 1:2 w lines title columnheader(1)"

对我来说这看起来像个错误。我尝试了几个Gnuplot版本(4.6.6,5.0.0,5.0.3),但它们都表现出相同的行为。

1 个答案:

答案 0 :(得分:2)

好的,我终于让它浏览了文档。管道时,每个索引选择都需要重复整个数据:

plot '-' index 0, '-' index 1
2
4
6


10
12
14
e
2
4
6


10
12
14
e

或者,作为一个更简单的替代方案,人们可​​以这样做:

plot '-', '-'
2
4
6
e
10
12
14
e