【发布时间】:2017-04-13 12:07:34
【问题描述】:
我正在用 GNUPlot 绘制图形。我能够生成带有图例的堆叠直方图,但我正在努力用每个项目的 MIX、MAX 等值来扩展图例,就像我设法使用 RRDTool 得到的一样
我的数据看起来像这样
DATE 2GRAN 3GRAN 4GRAN 2GTRAN
20170401 1234 1232 5454 98765
20170402 2312 99999 11 1234
20170403 55 654 1123 10000
但有更多的列。
我使用的代码是:
clear
reset
set key out
set terminal jpeg size 1900,1080 font "Helvetica" 16
set output 'plot_per_mo.jpg'
set xtics rotate out
set style data histogram
set style histogram rowstacked
set boxwidth 0.7 relative
set datafile missing '?'
set datafile separator '\t'
do for [i=2:13]{
stats 'convertedDataMO.dat' using (column(i))
max(i) = STATS_max
print sprintf("Max[%2d] = %d",i,max(i))
}
set palette defined ( 0 "black", 1 "yellow", 2 "green", 3 "blue", 4 "red", 5 "orange" )
plot for [COL=2:13] 'convertedDataMO.dat' using COL:xticlabels(1) lt palette frac COL/13. title columnheader(COL)
我尝试使用
plot for [COL=2:13] 'convertedDataMO.dat' using COL:xticlabels(1) lt palette frac COL/13. title sprintf("%20s ---> %6d",columnheader(COL),max(COL))
但我有两个问题。
- columnheader 未被识别为字符串
- max(COL) 只显示最后一个值(在从 sprintf 中删除 columnheader 后测试)
我是 gnuplot 的新手,所以我确定我在这里遗漏了一些重要的东西
【问题讨论】: