數據的測試:我有一個測試程序,其中有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