Matplotlib无法看到在plt.savefig()或plt.figure()中设置edgecolor的效果



我不知道如何在图形周围添加边框,这是我的理解,这将是图形。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()

我又看到了绿色的facecolor,但是没有红色的edge olcolor。我做错了什么?

任何想法?

根据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()中更好地记录它。

最新更新