绘制单个数据文件
默认的 gnuplot 命令 plot
(也只是 p
)绘制带有列的数据集,下面是 data_set.dat
文件的形式。
# Prototype of a gnuplot data set
# data_set.dat
# X - X^2 - 2*X - Random
0 0 0 5
1 1 2 15
1.4142 2 2.8284 1
2 4 4 30
3 9 6 26.46
3.1415 9.8696 6.2832 39.11
4 16 8 20
4.5627 20.8182 9.1254 17
5.0 25.0 10.0 25.50
6 36 12 0.908
如你所见,你可以使用浮点表示法在数据集中写入。现在一切都准备好了数据图:只输入
plot "data_set.dat"
gnuplot 将在你的 output
目的地生成一个图表。默认设置将使用数据文件的前两列,分别为 x 和 y。要指定要绘制的列,请使用 using
说明符
plot "data_set.dat" using 2:4
这意味着“使用第 2 列作为 X 绘制文件,使用第 4 列作为 Y”。如果你的数据集是三维文件,只需使用 splot
ad 添加 z-column
splot "data_set.dat" using 1:2:3
对于绘制点,还有不同的样式(请参阅 gnuplot 文档或选择更多信息的绘图样式 )。如前所述,默认样式为 point
plot "data_set.dat" using 1:4 with point
这将绘制与你不键入 with point
相同的情节。数据绘图的有用风格是 linespoint
,显然是“行+点”。例如:
plot "data_set.dat" using 1:4 with linespoint
# the abbreviated form is completely equivalent:
# p "data_set.dat" u 1:4 w lp
绘图迭代的形式
如果你有更多的列并希望在同一个图中绘制它们,只需将你喜欢的任何参数传递给 plot
函数,用 ,
分隔它们:
p "data_set.dat" u 1:2 w lp,\
"data_set.dat" u 1:3 w lp,\
"data_set.dat" u 1:4 w lp
无论如何有时可能会有太多的列逐个写。在这些情况下,for
迭代循环非常有用:
p for [col = 2:4] "data_set.dat" using 1:col w lp
它给出了输出
https://i.stack.imgur.com/KNhdU.jpg
简言之,for
迭代在循环中增加变量,在本例中为 col
,具有确定的步骤(如果未指定= 1)。例如,for [i = 0:6:2]
将通过两个步骤将 i
从 0 增加到 6:i = 0, 2, 4, 6
。所有值(开始,停止和增量)都被转换为整数值。
* 网格
绘制数据集时,网格通常很有用。添加网格类型
set grid