我想绘制
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行:使用规范的列太多
请帮我解决此错误。
答案 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"
对于第一个图,我使用第二和第三列的总和来模拟堆叠。