数据的测试:我有一个测试程序,其中有3个部分增加了整个程序的能力,例如, part1在60%的数据上工作,part2在额外的10%上,part3在另外6%上。python matplotlib堆叠在一起的barcharts
我想要做的是堆叠条显示“程序在绿色上工作的数据总量中,表示数量part1处理的数量,红色部分2和黄色部分3”。
因为我已经在3套5个文件上测试了程序,我希望图形通过将来自每个数据集的5个barcharts分组在一起来反映出这一点,因此最终有3个零件与图形相距一英寸其他,然后每个条形图都具有上述的堆叠效果。
我的目标是Y轴是文件工作的百分比,Y是文件所属组的名称。
至于一些示例数据,这是我一直在试图用:
meta_part1 = [5, 5.5, 4.67, 6.54, 4.4]
meta_part2 = [3.1, 3.3, 3.9, 3.5, 3.1]
meta_part3 = [1.3,1.4,1.7,2.4,0.89]
trans_part1 = [90,89.5,94.67,96.54,94.4]
trans_part2 = [11.1,11.3,10.9,11.5,12.1]
trans_part3 = [11.3,11.4,11.7,12.4,10.89]
s_part1 = [55,55.5,54.67,56.54,54.4]
s_part2 = [11.1,11.3,10.9,11.5,12.1]
s_part3 = [11.3,11.4,11.7,12.4,10.89]
元,反式和s所有组。
我失败了到目前为止的代码是在这里:
import matplotlib.pyplot as plt
import numpy as np
import numpy as np
from numpy.random import randn
import pandas as pd
from scipy import stats
import matplotlib as mpl
import seaborn as sns
meta_part1 = [5, 5.5, 4.67, 6.54, 4.4]
meta_part2 = [3.1, 3.3, 3.9, 3.5, 3.1]
meta_part3 = [1.3,1.4,1.7,2.4,0.89]
trans_part1 = [90,89.5,94.67,96.54,94.4]
trans_part2 = [11.1,11.3,10.9,11.5,12.1]
trans_part3 = [11.3,11.4,11.7,12.4,10.89]
s_part1 = [55,55.5,54.67,56.54,54.4]
s_part2 = [11.1,11.3,10.9,11.5,12.1]
s_part3 = [11.3,11.4,11.7,12.4,10.89]
N = 5
ind = np.arange(N) # the x locations for the groups
width = 0.35 # the width of the bars: can also be len(x) sequence
p1 = plt.bar(ind, meta_part1, width, color='y', bottom=meta_part2)
p2 = plt.bar(ind, meta_part2, width, color='r', bottom=meta_part3)
p3 = plt.bar(ind, meta_part3, width, color='g')
plt.ylabel('Scores')
plt.title('Difference between stitchers')
plt.xticks(ind+width/3., ('Test1', 'Test2', 'Test3', 'Test4', 'Test5'))
plt.yticks(np.arange(0,10,1))
plt.legend((p1[0], p2[0], p3[0]), ('Part1', 'Part2', 'Part3'))
ax.autoscale(tight=True)
plt.show()
然而,这已经没用了,只要它只是产生条带2个堆叠部件,三是合并成第一和我havnt已经能够正常工作了解如何将合并合并到此代码中。
对不起,我现在已经改变了命名,所以他们再次是正确的版本。也只是尝试了这一点,似乎解决了堆叠问题,但它具有与matousc的响应相同的问题,因为Y轴切割为9,然而现在这些小节结束了,是否有任何方法可以确保尺寸保持在线路并一路向上?你是否也知道将所有这些条组合在一起的方法,以便我们可以在他们旁边绘制第二组?谢谢! – Tom 2014-09-05 10:06:28
蜱虫在9之后消失,因为你告诉他们。如果你希望它们是自动的,删除'plt.yticks(np.arange(0,10,1))'。 – Ajean 2014-09-05 12:58:02