欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程语言 > python >内容正文

python

python 存储图片 alpha_保存时Matplotlib图形面颜色alpha(背景色、透明度)

发布时间:2024/7/5 python 55 豆豆
生活随笔 收集整理的这篇文章主要介绍了 python 存储图片 alpha_保存时Matplotlib图形面颜色alpha(背景色、透明度) 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

前一个问题是使用savefig()保存屏幕上显示的相同的面颜色(背景色),即:fig = plt.figure()

fig.patch.set_facecolor('blue')

fig.savefig('foo.png', facecolor=fig.get_facecolor())

(使用savefig()需要重新指定背景色。)

fig.patch.set_alpha(0.5)

我找不到一种方法,让一个透明的脸颜色的数字保存为它出现在屏幕上。文档对此似乎不完整:http://matplotlib.org/faq/howto_faq.html#save-transparent-figures-实际保存内容未显示。将transparent=True与savefig()一起使用并没有使facecolor透明的预期效果,相反,它似乎使除axes legend之外的所有内容在该颜色的顶部(包括图形背景)都透明。

编辑:部分相关代码摘录:def set_face_color(fig, facecolor):

if facecolor is False:

# Not all graphs get color-coding

facecolor = fig.get_facecolor()

alpha = 1

else:

alpha = 0.5

color_with_alpha = colorConverter.to_rgba(

facecolor, alpha)

fig.patch.set_facecolor(color_with_alpha)

def save_and_show(plt, fig, save, disp_on, save_as):

if save:

plt.savefig(save_as, dpi=dpi_file, facecolor=fig.get_facecolor(),

edgecolor='none')

if disp_on is True:

figManager = plt.get_current_fig_manager()

figManager.window.showMaximized()

plt.show()

else:

plt.close('all')

也许可以将这些组合起来,但我经常在绘图函数的开头调用set_face_color(),然后再构建子块网格,最后调用save_and_show()。我想它应该在任何一个地方都可以工作,但最理想的情况是,我希望保持函数分离,并且能够从最终的图中提取alpha传递到savefig()

编辑两千字

Alpha=0.5在左边,1在右边。

t = [1, 2, 3, 4, 5]

fig = plt.figure()

fig.patch.set_alpha(0.5)

fig.set_facecolor('b')

plt.plot(t, t)

fig2 = plt.figure()

fig2.set_facecolor('b')

plt.plot(t,t)

总结

以上是生活随笔为你收集整理的python 存储图片 alpha_保存时Matplotlib图形面颜色alpha(背景色、透明度)的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。