绘制后如何改变直方图的颜色? (使用历史记录)
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/