堆叠分布图(可能在python中)

时间:2013-06-24 18:56:11

标签: python graph charts

我想画这样的图表(对不起,我无法上传图片) http://www.organizationview.com/wp-content/uploads/2011/01/Stacked-distribution.jpg

哪个软件可以做到这一点?是否有任何python实用程序可以执行此操作?

3 个答案:

答案 0 :(得分:1)

我为你做了一个有效的matplotlib示例。我只为每个条形图制作了三个组件。在您的示例中为五个总数再添加两个作为练习留给读者。 :)代码在下面引用。您也可以看到它或下载我的IPython笔记本:http://nbviewer.ipython.org/5852773

import numpy as np
import matplotlib.pyplot as plt

width=0.5

strong_dis = np.array((20, 10, 5, 10, 15))
disagree = np.array((20, 25, 15, 15, 10))
# shortcut here
therest = np.subtract(100, strong_dis + disagree)

q = np.arange(5)

bsd=plt.barh(q, strong_dis, width, color='red')
bd=plt.barh(q, disagree, width, left=strong_dis, color='pink')
br=plt.barh(q, therest, width, left=strong_dis+disagree, color='lightblue')

ylabels = tuple(reversed(['A', 'B', 'C', 'D', 'E']))
plt.yticks(q+width/2., ylabels)

plt.xlabel('Responses (%)')
plt.legend((bsd, bd, br), ('strong disagree', 'disagree', 'the rest'))
plt.show()

答案 1 :(得分:0)

matplotlib库可用于在Python中生成图形。 http://matplotlib.org/

答案 2 :(得分:0)

看看matplotlib。他们有examples部分,其中包含stacked bar chart