作为后续: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),但它们都表现出相同的行为。
答案 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