我试图用Gnuplot绘制一些数据,并希望在x轴上使用logscale。这不起作用,Gnuplot给出错误“对于对数刻度,x范围必须大于0”。我看到在y轴上使用带负值的logscale的示例,并尝试对x轴执行类似操作,但似乎我无法使其工作。最初我认为这将是零值,但即使我删除它们,它也不起作用。
这是一个小例子:
stats 'stat_data1'
num1=STATS_records
stats 'stat_data2'
num2=STATS_records
set terminal pdf
set output "Cumulative_noise.pdf"
set autoscale yfix
set autoscale xfix
set key bottom right
set xlabel 'Noise in dB'
set ylabel 'Percent'
set xrange [0:110] reverse
set logscale x
set style increment user
set style line 2 lc rgb '#FF0000' lt 1 pt 1 ps 1
set style line 3 lc rgb '#008000' lt 2 pt 2 ps 2
set style line 4 lc rgb '#0000FF' lt 3 pt 3 ps 3
plot 0/0 notitle,\
'stat_data1' u (-$3) : ((100.0/num1)) title 'Node 1' smooth cumulative,\
'stat_data2' u (-$3) : ((100.0/num2)) title 'Node 2' smooth cumulative
这里有一些数据。第一个档案:
1437818411 -54 -95 85.2 0.0
1437818425 -54 -95 78.0 0.0
1437818440 -71 -95 38.7 0.0
1437818456 -70 -95 51.7 0.0
1437818471 -71 -95 42.0 0.0
第二档:
1437818545 -50 -95 43.7 100.0
1437818561 -51 -95 52.0 100.0
1437818576 -50 -94 79.4 0.10744142234781584
1437818592 -51 -94 16.6 0.308927509416507
1437818605 -49 -95 85.2 0.04368438558438699
我希望有人有一个想法,因为这将非常方便。提前谢谢!
答案 0 :(得分:2)
xrange
设置中给出的数字也受实际轴转换的影响。
删除set xrange [0:110]
可修复错误。