gnuplot没有正确显示rowstacked直方图

时间:2012-09-11 11:41:34

标签: plot gnuplot

以下是我的剧本。

set style data histogram
set style histogram rowstack gap 1
set style fill solid border -1
set boxwidth 0.8
set grid ytics linestyle 1
set key autotitle columnheader
set key below horizontal right
set ylabel "Overhead (%)"
set xlabel "Benchmark"

plot newhistogram "bm1" lt 2, 'plot1.txt' u 2:xtic(1), '' u 3, '' u 4, \
newhistogram "bm2" lt 2, 'plot1.txt' u 5:xtic(1) notitle, '' u 6 notitle, '' u 7 notitle, \
newhistogram "bm3" lt 2, 'plot1.txt' u 8:xtic(1) notitle, '' u 9 notitle, '' u 10 notitle, \
newhistogram "bm4" lt 2, 'plot1.txt' u 11:xtic(1) notitle, '' u 12 notitle, '' u 13 notitle

以下是我的数据。

Threads "Overhead 1" "Overhead 2" "Overhead 3"
w1   6  47 58    8 0 0   15 4 45    12   5  5           
w2   4  6  6     5 0 2   1 3 2      10  20  30  

我得到的图表如下所示。请注意第4个基准的右栏(bm4w2)的问题。为什么酒吧有偏移量?我不明白这一点。

enter image description here

2 个答案:

答案 0 :(得分:2)

看起来像一个错误/回归。我对你的脚本做了很小的改动,让gnuplot停止抱怨标题:

set style data histogram
set style histogram rowstack gap 1
set style fill solid border -1
set boxwidth 0.8
set grid ytics linestyle 1
set key below horizontal right
set ylabel "Overhead (%)"
set xlabel "Benchmark"

plot newhistogram "bm1" lt 2, 'plot1.txt' u 2:xtic(1) title columnhead(2), '' u 3 title columnhead(3), '' u 4 title columnhead(4), \
     newhistogram "bm2" lt 2, 'plot1.txt' u 5:xtic(1) notitle, '' u 6 notitle, '' u 7 notitle, \
     newhistogram "bm3" lt 2, 'plot1.txt' u 8:xtic(1) notitle, '' u 9 notitle, '' u 10 notitle, \
     newhistogram "bm4" lt 2, 'plot1.txt' u 11:xtic(1) notitle, '' u 12 notitle, '' u 13 notitle

这是使用gnuplot 4.6 patchlevel 0(在OS-X 10.5上绘制)的图表(绘制到postscript终端)。:

Plotted with gnuplot 4.6.0

这是相同的脚本,但是使用gnuplot 4.4 patchlevel 2:

Plotted with gnuplot 4.4.2

如果我使用png终端

进行绘图,则会发生相同的行为

答案 1 :(得分:0)

最近,我遇到了同样的问题,经过几个小时的搜索,我意识到windows gnuplot在绘制带有标题的文件的堆叠直方图时有问题(通过标题我的意思是文件的第一行包含列的名称。)

因此,针对此问题的快速解决方法是从源文件中删除标头。

它对我有用。