Python Matplotlib条形图未绘制边框/边

Python Matplotlib条形图未绘制边框/边,python,matplotlib,Python,Matplotlib,我的条形图有这个代码 ax1 = plt.subplot2grid((1,1),(0,0)) ax1.bar(edges2, Nnorm, width=0.02, edgecolor='green', linewidth=20) 我认为这应该使我的条形图有绿色的边。但事实并非如此。它在最左边的果岭上形成一个酒吧。我做错了什么?Facecolor有效 不幸的是。在matplotlib 2.2版中已修复 到目前为止,解决方法是分别设置每个条的边颜色和线宽: import matplotlib.py

我的条形图有这个代码

ax1 = plt.subplot2grid((1,1),(0,0))
ax1.bar(edges2, Nnorm, width=0.02, edgecolor='green', linewidth=20)
我认为这应该使我的条形图有绿色的边。但事实并非如此。它在最左边的果岭上形成一个酒吧。我做错了什么?Facecolor有效

不幸的是。在matplotlib 2.2版中已修复

到目前为止,解决方法是分别设置每个条的边颜色和线宽:

import matplotlib.pyplot as plt

bars = plt.bar(range(4), [3,4,1,5])
for bar in bars:
    bar.set_edgecolor("green")
    bar.set_linewidth(20)

plt.show()

如前所述,这是一个很好的例子。但是,它只是缺少edgecolor的一个广播,因此这里有一个更紧凑的解决方案:

plt.bar(x, y, linewidth=20, edgecolor=['g']*len(x))

另一种解决方案是传递alpha参数:

plt.bar(range(4), [3,4,1,5], alpha=1, edgecolor='k', linewidth=20)

注意:这仅在您设置的edgecolor为黑色时有效,否则第一列将具有正确的edgecolor,其余列将为黑色

完美。不幸的bug,但这种变通方法非常有效。谢谢我会留意最新情况。