我无法弄清楚如何在图形周围添加边框,据我了解,这将是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()

我再次看到绿色的脸色,但没有红色的边缘色。我究竟做错了什么?

有任何想法吗?

最佳答案

根据 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()中进行记录。

关于python - matplotlib无法在plt.savefig()或plt.figure()中看到设置edgecolor的效果,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/16289076/

10-12 15:57