我正在尝试为以下数据绘制直方图:
<text>,<percentage>
--------------------
"Statement A",50%
"Statement B",20%
"Statement C",30%
我使用了 set datafile separator ","
来获取相应的列。该图应在 X 轴上显示百分比,在 Y 轴上显示语句(完整字符串)。所以每个直方图都是水平的。
我如何在 gnuplot 中执行此操作? 还是有其他工具可以绘制好的矢量图像?
最佳答案
gnuplot histogram
和 boxes
绘图样式用于垂直框。要获得水平框,您可以使用 boxxyerrorbars
。
对于作为 y 标签的字符串,我使用 yticlabels
并将框放置在 y 值 0、1 和 2 处(根据数据文件中的行,使用 $0
)。
我让 gnuplot 将第二列视为数值,这会去除 %
。稍后在 xtics 的格式中添加:
set datafile separator ','
set format x '%g%%'
set style fill solid
plot 'data.txt' using ($2*0.5):0:($2*0.5):(0.4):yticlabels(1) with boxxyerrorbars t ''
4.6.4 版本的结果是:
关于matplotlib - Gnuplot:在 Y 轴上绘制直方图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20408106/