我正在尝试使用gnuplot在同一图表上绘制两组不同的数据。第一组必须绘制为boxerrorbars,第二组必须绘制为线点。但是,当我在gnuplot上运行代码时,我收到以下错误:
"/home/flav/salaak/src/www/plots/signature.ranking.1.EnergyPKG.gnu", line 20: warning: Skipping data file with no valid points
plot '//home/flav/salaak/src/www/plots/ranking.1.EnergyPKG.dat' using 0:2:3:xtic(1) with boxerrorbars fc rgb 'forest-green' title 'EnergyPKG [W]' axes x1y1, '//home/flav/salaak/src/www/plots/ranking.1.EnergyPKG.dsz.dat' u 1:2 w linespoints t 'Data Size bytes' axes x1y2
^
"/home/flav/salaak/src/www/plots/signature.ranking.1.EnergyPKG.gnu", line 20: all points y2 value undefined!
代码:
set terminal pngcairo enhanced font 'arial,10' fontscale 1.5 size 1024, 768
set output '/home/flav/salaak/src/www/plots/signature.ranking.1.EnergyPKG.png'
unset border
set grid
set style fill solid 0.25 noborder
set boxwidth 0.5 absolute
set title 'Ranking 1 '
set xlabel 'Query.Job'
set ylabel 'EnergyPKG [W]'
set style histogram errorbars gap 2 lw 1
set style data histograms
set xrange [-0.5:3]
set yrange [0:]
set key under autotitle nobox
set ytics nomirror
set y2tics nomirror
set y2range [0:]
set y2label 'Data Size [bytes]'
plot '//home/flav/salaak/src/www/plots/ranking.1.EnergyPKG.dat' using 0:2:3:xtic(1) with boxerrorbars fc rgb 'forest-green' title 'EnergyPKG [W]' axes x1y1, \
'//home/flav/salaak/src/www/plots/ranking.1.EnergyPKG.dsz.dat' u 1:2 w linespoints t 'Data Size bytes' axes x1y2
ranking.1.EnergyPKG.dat:
q22.2 23.0008220833333 0.237935519166793
q16.2 22.988090297619 1.18050606267611
q07.4 10.6937465361916 0
ranking.1.EnergyPKG.dsz.dat:
q22.2 23359824
q16.2 1987871
q07.4 38
我无法弄清问题究竟在哪里。
答案 0 :(得分:2)
第一列中的值不是有效的数值,在绘制线点时也必须使用第0列(正如您对方框所做的那样):
dir ='/home/flav/salaak/src/www/plots/'
plot dir.'ranking.1.EnergyPKG.dat' using 0:2:3:xtic(1) with boxerrorbars axes x1y1,\
dir.'ranking.1.EnergyPKG.dsz.dat' u 0:2 w lp axes x1y2
并且,请将您发布的脚本限制在最低限度,但仍会显示问题。所有这些范围,标签,抽动设置等都是多余的,并且使识别问题变得更加困难。