兩個直方圖可以通過創建一個同時具有直方圖疊加(可能歸一化)和直方圖比率圖的特徵進行比較。這裏有這樣一個情節:使用matplotlib,如何通過覆蓋它們並顯示它們的比率圖來比較直方圖?
使用matplotlib怎麼會這樣的情節進行?
兩個直方圖可以通過創建一個同時具有直方圖疊加(可能歸一化)和直方圖比率圖的特徵進行比較。這裏有這樣一個情節:使用matplotlib,如何通過覆蓋它們並顯示它們的比率圖來比較直方圖?
使用matplotlib怎麼會這樣的情節進行?
我沒有看到這些點是什麼,但這裏有一個比例的簡單例子。主要技巧是重用hist
返回的bin
值。
import matplotlib.pyplot as plt
from numpy.random import normal
y = []
y.append(normal(2, 2, size=120))
y.append(normal(2, 2, size=120))
fig, (ax1, ax2) = plt.subplots(nrows=2)
ns, bins, patches = ax1.hist(y, normed=False,
histtype='stepfilled',
bins=8,
alpha=0.2,
label=['a','b']
)
ax1.legend()
ax2.bar(bins[:-1], # this is what makes it comparable
ns[0]/ns[1], # maybe check for div-by-zero!
alpha=0.4)
ax1.set_ylabel('Data')
ax2.set_ylabel('Ratio (a/b)')
第一部分是比較容易的。您可以通過將「alpha」設置爲小於1來繪製透明直方圖,並提供預定義的bin大小。你能解釋下面的情節究竟應該表明什麼?您可能必須手動執行該操作。 – kazemakase