这是我的数据框:
6month final-formula Question Text numPatients6month
286231 1 0.031730 CI_FINANCE 977
286270 1 0.147390 CI_MJO 977
286276 1 0.106448 CI_CONCENTRATING 977
286700 2 0.010323 CI_MJO 775
286323 2 0.018065 CI_FINANCE 775
286401 2 0.034839 CI_CONCENTRATING 775
286228 3 0.032020 CI_CONCENTRATING 812
286238 3 0.061576 CI_MJO 812
286292 3 0.008621 CI_FINANCE 812
286690 4 0.008097 CI_MJO 741
286342 4 0.005398 CI_FINANCE 741
286430 4 0.060729 CI_CONCENTRATING 741
286481 5 0.009840 CI_FINANCE 813
287441 5 0.008610 CI_MJO 813
286362 5 0.041820 CI_CONCENTRATING 813
286360 6 0.021622 CI_CONCENTRATING 740
286492 6 0.017568 CI_FINANCE 740
286494 6 0.014865 CI_MJO 740
286482 7 0.015464 CI_FINANCE 776
286483 7 0.042526 CI_MJO 776
286599 7 0.011598 CI_CONCENTRATING 776
286361 8 0.024490 CI_CONCENTRATING 735
286989 8 0.004082 CI_FINANCE 735
286402 8 0.021769 CI_MJO 735
287119 9 0.003916 CI_FINANCE 766
286408 9 0.011749 CI_MJO 766
286399 9 0.019582 CI_CONCENTRATING 766
286267 10 0.019337 CI_CONCENTRATING 724
286249 10 0.037293 CI_MJO 724
286810 10 0.008287 CI_FINANCE 724
我已将此数据框绘制为堆积条形图。
此堆积条形图基于(6month,final-formula)
。在
如您所见,在数据帧中有numPatients6month
。
我想在每一类堆积条形图上显示这个数字。
例如:
根据上面的堆积条,我想在第一个条中显示977
蓝色,显示977表示CI_Finance
,即orange color
。在
它不同于this问题,因为它不是堆积条,
同样,与this不同,因为我将展示另一列(numPatients6month)
,它在我的数据帧中,而不是{final-formula
,但我想在每个堆叠条形图的每种颜色上显示numPatients6month
。在
作为参考,我使用以下代码绘制了上面的图:
^{pr2}$谢谢,:)
以下是一种方法:
list_values
将以与ax.patches
中的rect
相同的顺序从列'numPatients6month'获取值,结果是:但由于一些条形图很小,结果并不容易阅读。在
编辑:关于循环,
ax.patches
包含了关于您绘制的所有条的信息,因此对于我命名为rect
的每个条,使用get_xy
可以得到条形图左下角的位置,使用get_height
(r.get_width
)可以得到条的高度(r.width)。所以(x+w,y+h)给出了条中间的坐标,在这里您可以使用函数ax.text
(参数horizontalalignment
和verticalalignment
来添加文本value
(来自list_values
)来将文本居中)编辑2:更通用的方法,感谢@SpghttCd获取
^{pr2}$list_values
您可以直接从数据集计算标签的x和y位置:
标签的排列方式与数据的排列方式相同:
^{pr2}$然后循环查看x、y和label数组的列表:
相关问题 更多 >
编程相关推荐