首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Matplotlib图面部颜色(背景色)

Matplotlib图面部颜色(背景色)
EN

Stack Overflow用户
提问于 2011-01-26 19:25:11
回答 2查看 160.2K关注 0票数 116

有人能解释一下为什么下面的代码在设置人物的面部颜色时不起作用吗?

代码语言:javascript
复制
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")会获取这些高度和宽度。但是,不会拾取面部颜色设置。为什么?

谢谢你的帮助。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-01-26 21:38:55

这是因为savefig覆盖了图形背景的facecolor。

(这是故意的,实际上...假设您可能希望使用savefigfacecolor kwarg来控制保存的图形的背景颜色。然而,这是一个令人困惑且不一致的默认设置!)

最简单的解决方法是使用fig.savefig('whatever.png', facecolor=fig.get_facecolor(), edgecolor='none') (我在这里指定边框颜色是因为实际图形的默认边框颜色是白色的,这将在保存的图形周围显示一个白色边框)

希望这能有所帮助!

票数 158
EN

Stack Overflow用户

发布于 2013-11-23 22:37:01

我不得不使用transparent关键字来获得我用我的初始颜色选择的颜色

代码语言:javascript
复制
fig=figure(facecolor='black')

如下所示:

代码语言:javascript
复制
savefig('figname.png', facecolor=fig.get_facecolor(), transparent=True)
票数 36
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4804005

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档