Matplotlib figure :如何设置前景色(背景色)

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (17)

请有人解释为什么下面的代码不能工作时,设置面部颜色的数字?

import matplotlib.pyplot as plt

# create figure instance
fig1 = plt.figure(1)
fig1.set_figheight(11)
fig1.set_figwidth(8.5)

rect = fig1.patch
rect.set_facecolor('red') # works with plt.show().  
                          # Does not work with plt.savefig("trial_fig.png")

ax = fig1.add_subplot(1,1,1)

x = 1, 2, 3
y = 1, 4, 9
ax.plot(x, y)

# plt.show()  # Will show red face color set above using rect.set_facecolor('red')

plt.savefig("trial_fig.png") # The saved trial_fig.png DOES NOT have the red facecolor.

# plt.savefig("trial_fig.png", facecolor='red') # Here the facecolor is red.

当我指定图形的高度和宽度时,请使用fig1.set_figheight(11)fig1.set_figwidth(8.5)这些信息由命令获取。plt.savefig("trial_fig.png")...。然而,面部颜色设置没有被拾取。为什么?

谢谢你的帮忙。

提问于
用户回答回答于

最简单的解决办法就是fig.savefig('whatever.png', facecolor=fig.get_facecolor(), edgecolor='none')(我在这里指定edgecolor,因为实际数字的默认EDgecolor是白色的,这将在保存的图形周围提供一个白色边框)

用户回答回答于

我必须使用透明关键字来获得我用我的初始值选择的颜色。

fig=figure(facecolor='black')

就像这样:

savefig('figname.png', facecolor=fig.get_facecolor(), transparent=True)

扫码关注云+社区