GnuPlot—在数据文件中打印点,并打印点的计数
我有一个数据文件GnuPlot—在数据文件中打印点,并打印点的计数,gnuplot,Gnuplot,我有一个数据文件file.dat按以下格式排列: DataA: 0 2 1 3 7 2 1 2 DataB: 3 2 6 4 1 1 我想从这个数据文件中得到两个绘图 这些点的简单图 每个数据集中点数的绘图。e、 g(DataA得4分,DataB得3分) 为了生成第一个绘图,我使用这个 set key autotitle columnheader right plot for [i=0:1] 'file.dat' using 1:2 index i with lp 对
file.dat
按以下格式排列:
DataA:
0 2
1 3
7 2
1 2
DataB:
3 2
6 4
1 1
我想从这个数据文件中得到两个绘图
set key autotitle columnheader right
plot for [i=0:1] 'file.dat' using 1:2 index i with lp
对于另一个图,我只需要一个简单的条形图,如下所示:
其中y轴
表示数据A和数据B的点数
我不知道如何计算列表中的点,同时绘制数据集
顺便问一下,我能同时得到这两幅图吗
编辑:
文件.dat
可以包含多个数据。e、 g
DataA:
0 2
1 3
7 2
1 2
.
.
.
DataZ:
3 2
6 4
要计算点数,请使用
stats
。要并排打印,请使用multiplot
stats 'file.dat' using 1:2 every :::0::0 name 'A' # to get stats with prefix 'A_'
stats 'file.dat' using 1:2 every :::1::1 name 'B'
set multiplot layout 1,2 # 1 row, 2 columns
plot for [i=0:1] 'file.dat' using 1:2 index i with lp
set object 1 rect from 1,0 to 3,A_records fc rgb 'red'
set object 2 rect from 5,0 to 7,B_records fc rgb 'red'
set xrange [0:8]
max=(A_records>B_records ? A_records:B_records)+0.5
set yrange [0:max]
set format x ''
unset xtics
set xtics ('DataA' 2, 'DataB' 6)
plot -10 notitle
unset multiplot
如果我不知道自己正在处理多少数据,该怎么办?就像在本例中,我有
DataA
和DataB
,但我可能会生成另一个类似于这样的文件:DataA:0 2 1 3 7 2 1 2 DataB:3 2 6 4 1 DataC:0 2 1 3 7 2 DataD:3 2 6 4 1执行stats
对于没有条件的文件,块数在变量stats\u blocks
中。然后使用循环,查看[…]的do
构造。