绘制后改变直方图的颜色

时间:2014-08-30 21:52:45

标签: python matplotlib histogram

绘制后,如何更改直方图的颜色? (使用hist)

z = hist([1,2,3])
z.set_color(???) < -- Something like this

我怎样才能检查直方图的颜色

z = hist([1,2,3])
color = z.get_color(???) < -- also Something like this

谢谢。

1 个答案:

答案 0 :(得分:2)

存在这样的功能。您只需存储patches返回的hist并访问每个facecolor

import matplotlib.pyplot as plt
n, bins, patches = plt.hist([1,2,3])
for p in patches:
    print p.get_facecolor()
    p.set_facecolor((1.0, 0.0, 0.0, 1.0))

输出:

(0.0, 0.5, 0.0, 1.0)
(0.0, 0.5, 0.0, 1.0)
(0.0, 0.5, 0.0, 1.0)
(0.0, 0.5, 0.0, 1.0)
(0.0, 0.5, 0.0, 1.0)
(0.0, 0.5, 0.0, 1.0)
(0.0, 0.5, 0.0, 1.0)
(0.0, 0.5, 0.0, 1.0)
(0.0, 0.5, 0.0, 1.0)
(0.0, 0.5, 0.0, 1.0)

请注意,每个垃圾箱会获得一个补丁。默认情况下hist绘制10个分箱。您可能希望使用plt.hist([1,2,3], bins=3)以不同方式对其进行定义。