gnuplot抛出错误:使用规范时列太多

时间:2014-12-10 15:55:18

标签: gnuplot

我想绘制



Date,usrCPU,sysCPU
2014/11/12-00:01:08,14,4
2014/11/12-01:05:18,19,5
2014/11/12-02:06:28,22,4
2014/11/12-03:20:38,21,4
2014/11/12-04:30:48,21,4
2014/11/12-05:40:58,23,5
2014/11/12-06:51:08,22,4
2014/11/12-07:52:18,23,4
2014/11/12-08:55:28,24,6




我正在使用以下gnuplot



set title "Pset plot
set datafile separator ","
set terminal jpeg giant font "Helvetica" 16
set style data histograms
set style histogram rowstacked
set xdata time
set timefmt "%Y/%m/%d-%H-%M-%S"
set xlabel "Time"
set ylabel "percentage"
set xrange["2014/11/12-00:00:00":"2014/11/12-20:00:00"]
set ytics 10
set autoscale
set output 'pset.png'
plot 'pset1_betsy.csv' using 1:2 title "UsrCPU", '' using 1:3 title "sysCPU"




但它会引发以下错误

" pset.plot",第14行:使用规范的列太多

请帮我解决此错误。

1 个答案:

答案 0 :(得分:2)

您无法将histogram与时间数据或任何类型的连续数据一起正确使用。每个框的x值在内部计算为整数位置,您可以给这些框标签(可能还有日期)。

要绘制连续数据的框并堆叠这些值,您必须绘制with boxes,或使用boxxyerrorbars进行大量摆弄:

set title "Pset plot"
set datafile separator ","
set terminal pngcairo
set xdata time
set timefmt "%Y/%m/%d-%H-%M-%S"
set xlabel "Time"
set ylabel "percentage"
set xrange["2014/11/12-00:00:00":"2014/11/12-20:00:00"]
set yrange [0:*]
set output 'pset.png'
set style fill solid
set style data boxes
set boxwidth 0.8 relative
plot 'pset1_betsy.csv' using 1:($2+$3) title "sysCPU", '' using 1:2 title "UsrCPU"

对于第一个图,我使用第二和第三列的总和来模拟堆叠。

enter image description here