gpt4 book ai didi

python - Matplotlib 图形 facecolor(背景色)

转载 作者:IT老高 更新时间:2023-10-28 21:40:27 25 4
gpt4 key购买 nike

谁能解释一下为什么下面的代码在设置图形的facecolor时不起作用?

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").但是,facecolor 设置没有被拾取。为什么?

感谢您的帮助。

最佳答案

这是因为 savefig 覆盖了人物背景的 facecolor。

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

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

希望有帮助!

关于python - Matplotlib 图形 facecolor(背景色),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4804005/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com