代码之家  ›  专栏  ›  技术社区  ›  Gert Gottschalk

带重叠的gnuplot柱状图

  •  0
  • Gert Gottschalk  · 技术社区  · 6 年前

    我想在gnuplot中绘制这样的条形图或柱状图。 enter image description here

    我试过了 set style histogram rowstacked 这是一个开始,但它将列添加到彼此的顶部,而我需要它们重叠。接下来是透明着色的问题。

    感谢您的反馈。

    更新:user8153要求提供其他数据。

    这个 set style histogram clustered gap 0.0 正在执行直方图条的群集模式。如果你模糊了眼睛,它会显示出我想要的东西,但会有重叠和透明的阴影。

    enter image description here

    文档中给出的其他直方图模式只有 rowstacked columnstacked .我从来没有得到一个阴谋 列堆叠 所以我丢弃了它。现在 行堆叠 堆叠直方图条。

    enter image description here

    覆盖外观存在,但它是错误的。我不想要堆积的外观。直方图必须重叠。

    代码:

    set boxwidth 1.0 absolute
    set style fill solid 0.5 noborder 
    set style data histogram
    set style histogram clustered gap 0.0
    #set style histogram rowstacked gap 0.0
    set xtics in rotate by 90 offset first +0.5,0 right
    set yrange [0:8000]
    set xrange [90:180]
    
    plot 'dat1.raw' using 3 lc rgb 'orange', \
         'dat2.raw' using 3  lc rgb 'blue', \
         'dat3.raw' using 3  lc rgb 'magenta'
    

    感谢您的反馈。

    1 回复  |  直到 6 年前
        1
  •  2
  •   user8153    6 年前

    给定一个示例数据文件 test.dat

    -10 4.5399929762484854e-05
    -9 0.0003035391380788668
    -8 0.001661557273173934
    -7 0.007446583070924338
    -6 0.02732372244729256
    -5 0.0820849986238988
    -4 0.20189651799465538
    -3 0.4065696597405991
    -2 0.6703200460356393
    -1 0.9048374180359595
    0 1.0
    1 0.9048374180359595
    2 0.6703200460356393
    3 0.4065696597405991
    4 0.20189651799465538
    5 0.0820849986238988
    6 0.02732372244729256
    7 0.007446583070924338
    8 0.001661557273173934
    9 0.0003035391380788668
    10 4.5399929762484854e-05
    

    可以使用以下命令

    set style fill transparent solid 0.7
    plot "test.dat" with boxes, \
         "test.dat" u ($1+4):2 with boxes
    

    要获得以下结果(使用 pngcairo 终端):

    enter image description here