我无法弄清楚如何在图形周围添加边框,我的理解是这将是figure.edgecolor参数或savefig(edgecolor),但这似乎不起作用。我正在使用matplotlib 1.1.1。我希望这段代码在图上画一个红色边框:
import matplotlib.pyplot as plt
plt.plot([1,2,3])
plt.savefig('test.png', edgecolor='r', facecolor='g')
当我看到这个图时,它有一个绿色的脸色,但我看不到红色的边缘颜色?
以下情况也不起作用:
import matplotlib.pyplot as plt
plt.figure(edgecolor='r', facecolor='g')
plt.plot([1,2,3])
plt.show()
我再次看到绿色的脸色,但没有红色的边缘色。我做错了什么?
有什么想法吗?
答案 0 :(得分:7)
根据matplotlib.figure.Figure()
的文档,默认情况下,图的边缘linewidth
设置为0.0
。如果您在任一代码段中提高此值,则可以显示edgecolor
:
import matplotlib.pyplot as plt
plt.figure(linewidth=2)
plt.plot([1,2,3])
plt.savefig('test.png', edgecolor='r', facecolor='g')
或者:
import matplotlib.pyplot as plt
plt.figure(edgecolor='r', facecolor='g', linewidth=2)
plt.plot([1,2,3])
plt.show()
linewidth=0.0
是一个很好的默认值,但应该在matplotlib.pyplot.savefig()中更好地记录。