绘制后如何改变直方图的颜色? (使用历史记录)

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


还有我如何检查直方图是什么颜色

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


谢谢。

最佳答案

存在这样的功能。您只需要存储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个bin。您可能想使用plt.hist([1,2,3], bins=3)对其进行不同的定义。

关于python - 绘制后更改直方图的颜色,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/25587060/

10-12 16:52