消除条之间的间隙

时间:2016-10-07 16:13:58

标签: gnuplot

我在gnuplot中创建了图1,其中包含总共12个条形图,其中包含4组条形图,其中每组由3个条形图组成。 图中有3个我想要改变的东西,我不知道该怎么做。

  1. 我想删除每个子组栏之间存在的小间隙。
  2. 我想在图表的每一端都有完整的条形图,而不是将它们切成两半。
  3. 我想在X轴上为每个组只有一个标签。例如,我只想要1000次写入而不是三次1000(一个子组)。我希望每个子组都有一个标签。
  4. 图1:我拥有的图表 Graph that I have

    图2:我想要的图表 Graph that I want

    以下是我正在使用的数据:

    对于第一个栏(第一个栏 - 空白栏)

    # Size  Average
    1000 360.48
    2000 545.94
    4000 1008.16
    8000 1982.56
    

    对于第二个栏(中间的栏)

    # Size  Average
    1000 251.37
    2000 360.29
    4000 646.79
    8000 1226
    

    对于第三个栏(每个小组右侧的栏)

    # Size  Average
    1000 373.01
    2000 555.34
    4000 1014.92
    8000 1999.20
    

    对于这些值,我使用了以下gnuplot脚本

    set yrange [ 0 : 2200 ] noreverse nowriteback
    
    set boxwidth 0.25
    plot "first-bar.dat"  u ($0-.05):2:2:xtic(1)  w boxerrorbars ls 4 title "First bar", \
         "second-bar.dat" u ($0+0.25):2:2:xtic(1) w boxerrorbars ls 5 title "Second bar", \
         "third-bar.dat"  u ($0+0.55):2:2:xtic(1) w boxerrorbars ls 6 title "Third bar"
    

    我是怎么做到的?

1 个答案:

答案 0 :(得分:0)

对这样的情节使用真实直方图,即histogram绘图样式:

set yrange [0:*]
set style data histogram
set style histogram cluster gap 1

plot 'first-bar.dat' u 2:xtic(1) ls 4 title 'first',\
     'second-bar.dat u 2 ls 5 title 'second',\
     'third-bar.dat' u 2 ls 6 title 'third'