我有一个单一的文件,我想要在同一张图中绘制两个图。如果两个图的数据是分开的,我知道该怎么做,但是当每个图的数据散布在其他图中时,我该怎么做呢?
例如,这里是数据文件,第一列表示数据所属的绘图,第二列和第三列是x轴和y轴值:
# plotnum xaxis yaxis
1 2 1
2 3 2
1 3 2
2 5 4从这里我想画两个图,plot1和plot2,第一个图(2,1)和(3,2),其中第二个图(3,2)和(5,4)
我该如何做到这一点?
发布于 2016-08-26 05:07:09
您可以像这样使用every关键字:
plot 'test.dat' every ::0::1 using 2:3 w lp, '' every ::2::3 using 2:3 w lp例如,::0::1指示Gnuplot选择从0到1的点,即前两个点(“点索引”从零开始)
编辑:如果第一列应该确定其余两列所属的绘图,一种解决方案是依赖外部实用程序,如gawk,以便对文件进行预过滤:
filter(fname, group)=sprintf("<gawk '$1==%d{print $2,$3}' %s", group, fname)
plot filter('test.dat', 1) w l在这里,gawk已经过滤掉了第二列和第三列,这样以后就不需要使用using关键字了。
https://stackoverflow.com/questions/39154659
复制相似问题