如何创build一个重叠的条形图?

对于一个项目,我需要创build一个包含大量数据的浮动条形图。 为了将所有这些都放在一张图上,这些条必须相互配合。 我试图模仿下面的照片,除了更多的数据。

理想的图表

我和图表的创造者交谈,他说他精心画出每一个盒子。 我试图通过使用其他程序来避免这种情况。 不过,我用Excel的尝试已经失败了。 我看着Graphviz和gnuplot,但一直没有find能够指导我创build这样的图表的东西。

任何帮助表示赞赏。

如果你垂直而不是水平地构build它(然后旋转),我认为gnuplot可以有用地做到这一点。 你有所有必要的工具来准备旋转,因为ticslabels都可以任意旋转( rotate by

所以如果你的数据是这样的:

  Cu 10 30 

你可以:

 unset ytics unset xtics unset key set y2tics rotate set boxwidth 1 NLines=5 plot "f.dat" u ($0 % NLines):2:2:3:3 w candlest fs solid, "f.dat" u 0:(($2+$3)/2):1 w labels rotate 

gnuplot本身不会执行的那一点是决定哪一行(预旋转图中的x坐标)来放置每个方框。 如果你想像你的例子那样优化行数,那么你必须首先对你的数据进行一次分配,为它们分配一个行号。 如果需要,可以在gnuplot中完成,但这不是最好的工具。 现在,盒子按照外观顺序在NLines不同的行上(标号0对应于文件中的行号, %是模运算符)