我正在尝试使用同一数据文件中的不同列绘制两个图表。由于一个图的范围远大于另一个图,我将y轴设置为对数标度。由于两个图的值域也非常小,我也将x轴设置为对数刻度。
绘制图表没有问题,只是gnuplot
没有绘制数据文件中的第一个点(x = 0)。
我用来绘制图表的代码是:
set xrange [1:2500]
set yrange [1:2000]
set log x
set log y
plot "datafile.txt" using 1:2 with lines, "datafile.txt" using 1:3 with lines
请注意,因为我对两个轴使用对数刻度,所以我不能在任一范围内包含零值。
我正在使用的数据文件的摘录是:
Table of Results: Range: {-50...50}
Dim #AvgP #AvgNP
0 0 1743
1 0 564
2 0 914
3 0 1040
4 0 1072
5 0 1005
6 0 815
7 1 689
8 3 525
9 4 433
10 3 350
11 0 255
12 1 216
13 2 140
14 2 84
15 1 57
16 0 38
17 0 16
18 0 15
19 1 7
20 0 2
21 0 1
22 0 1
23 0 0
24 0 0
25 0 0
. . .
. . .
. . .
因此绘制的文件为:
注意如何绘制第二张图的第一个值。
答案 0 :(得分:0)
如您所知, x = 0 点未在对数轴上定义,因此省略它是您应该发生的事情。如果要强制包含该点,请通过向每个值添加1来移动 x 值,并提供适当的轴标签以明确其绘制内容。
plot "datafile.txt" using ($1+1):2 with lines, "datafile.txt" using ($1+1):3 with lines
有了这个,你应该看到绿线上的缺失点。红线将保持不变,因为值 y = 0 也不能绘制。如果需要,您也可以移动 y 值。
以下是它的外观: