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