的頻率着色如果非要Matplotlib直方圖,其中每個區間被附加參數
data = [(1, 'a'), (1, 'b'), (1, 'a'), (2, 'a'), (2, 'b'), (3, 'c'), (3, 'c'), (3, 'c'), (3, 'c')]
使得存在兩個屬性爲每個數據點:
x, y = zip(*data)
我可以在直方圖顯示x
, ala:
x = [1, 1, 1, 2, 2, 3, 3, 3, 3]
bins = [1, 2, 3]; f = [3, 2, 4]`.
然後,使用第二個屬性
y = ['a', 'b', 'a', 'a', 'b', 'c', 'c', 'c', 'c']
從原來的直方圖中的每個倉先後爲副參數頻率信息:
bins[0] = {'a': 2, 'b': 1}
bins[1] = {'a': 1, 'b': 1}
bins[2] = {'b': 1, 'c': 3}
使用matplotlib
,我可以創造的x
基本直方圖:
import matplotlib.pyplot as plt
fig = plt.figure()
ax = fig.add_subplot(111)
n, bins, patches = ax.hist(x, 3)
是否有巧妙地迭代修補程序的方式,或許可以將它們分解成反映附加信息的適當大小的矩形,y
?
在這個例子中,如果希望'a'
是紅色,'b'
爲綠色和'c'
爲藍色,然後第一倉(X = 1)將是三分之二紅色和三分之一綠色,第二倉(X = 2)。將半紅和半綠色和最終容器(X = 3)。將四分之一綠色和四分之三藍色。
[這些示例](http://matplotlib.org/examples/statistics/histogram_demo_multihist.html)有幫助嗎? – 2014-12-01 15:54:48