颜色应该在pyplot.bar中设置facecolor和edgecolor

时间:2013-07-03 14:49:21

标签: matplotlib

在pyplot.bar中,color关键字参数不应该是设置facecolor和edgecolor的快捷方式吗?它似乎没有这种方式。它似乎相当于facecolor。

1 个答案:

答案 0 :(得分:3)

文档确实有点含糊不清(颜色为“the color of the bars”),边缘颜色确实不是由color关键字设置的:

>>> bar_plot = bar(range(3), range(3), color='r')  # Red
>>> rect0 = bar_plot.patches[0]  # First bar
>>> rect0.get_facecolor()  # Red!
(1.0, 0.0, 0.0, 1.0)
>>> rect0.get_edgecolor()  # Black!
(0.0, 0.0, 0.0, 1.0)

正如您所注意到的,这与set_color不一致,{{3}}设置了边缘颜色和面部颜色。

您可以通过Matplotlib错误报告系统报告此情况,但更改此行为会改变现有程序的行为,因此修复不一致会产生严重的缺陷(不幸的是)。