matplotlib - Gnuplot:在 Y 轴上绘制直方图

标签 matplotlib plot gnuplot

我正在尝试为以下数据绘制直方图:

<text>,<percentage> 
--------------------
"Statement A",50%
"Statement B",20%
"Statement C",30%

我使用了 set datafile separator "," 来获取相应的列。该图应在 X 轴上显示百分比,在 Y 轴上显示语句(完整字符串)。所以每个直方图都是水平的。

我如何在 gnuplot 中执行此操作? 还是有其他工具可以绘制好的矢量图像?

最佳答案

gnuplot histogramboxes 绘图样式用于垂直框。要获得水平框,您可以使用 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 版本的结果是:

enter image description here

关于matplotlib - Gnuplot:在 Y 轴上绘制直方图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20408106/

相关文章:

python - 将图例添加到散点图 (PCA)

python - 初学者-用 python 从图形中制作基于帧的视频

python - 如何更改使用 mpl.to_bokeh 创建的 Bokeh 图上的工具?

gnuplot 绘制 2D 矢量图的第 n 个点

gnuplot - 有没有一种简单的方法可以在 gnuplot 中获得带有黑色轮廓的点?

graph - gnuplot 改变连接线的颜色

python - 获取旋转面片(矩形)的坐标 matplotlib

python - 如何显示 matplotlib 图?

python - 在pycharm中绘制数据框( Pandas ),不显示

java - 绘制 d 维数据