前言

最近工作中遇到一个需求,在使用matplotlib生成图片,想要背景透明,而且图例部分也显示透明效果,通过查找相关资料找到了大概的设置方法,特此记录,方便自己或者有需要的朋友们参考学习。
示例代码
# coding=utf-8
# matplotlib背景透明示例图
# python 3.5
import numpy as np
import matplotlib.pyplot as plt
from pylab import mpl
import scipy.stats as stats
# 设置中文字体
mpl.rcParams['font.sans-serif'] = ['SimHei']
def autolabel(rects):
# attach some text labels
for rect in rects:
height = rect.get_height()
# 设置标注文字及位置
ax.text(rect.get_x() + rect.get_width() / 2, 0.03 + height, '%.4f' % height, ha='center', va='bottom')
# 数据
testData = [[0.87, 0.40, 0.56],
[0.97, 0.50, 0.33],
[0.88, 0.30, 0.44],
[0.25, 0.23, 0.17],
[0.73, 0.33, 0.45]]
N = 3
width = 0.5
ind = np.arange(width, width*6*N, width*6)
fig, ax = plt.subplots()
rectsTest1 = ax.bar(ind, (testData[0][0], testData[0][1], testData[0][2]), width, color=(0, 0, 1, 1), edgecolor=(0, 0, 1, 1))
rectsTest2 = ax.bar(ind + width, (testData[1][0], testData[1][1], testData[1][2]), width, color=(1, 0, 0, 1), edgecolor=(1, 0, 0, 1))
rectsTest3 = ax.bar(ind + 2*width, (testData[2][0], testData[2][1], testData[2][2]), width, color=(0, 1, 0, 1), edgecolor=(0, 1, 0, 1))
rectsTest4 = ax.bar(ind + 3*width, (testData[3][0], testData[3][1], testData[3][2]), width, color=(1, 0.6471, 0, 1), edgecolor=(1, 0.6471, 0, 1))
rectsTest5 = ax.bar(ind + 4*width, (testData[4][0], testData[4][1], testData[4][2]), width, color=(0.5804, 0, 0.8275, 1), edgecolor=(0.5804, 0, 0.8275, 1))
ax.set_xlim(0, 9.5)
ax.set_ylim(0, 1.4)
ax.set_ylabel('数值')
ax.yaxis.grid(True)
ax.set_xticks(ind + width * 2.5)
ax.set_xticklabels(('P', 'R', 'F'))
# 设置图例
legend = ax.legend((rectsTest1, rectsTest2, rectsTest3, rectsTest4, rectsTest5), ('test1', 'test2', 'test3', 'test4', 'test5'))
frame = legend.get_frame()
frame.set_alpha(1)
frame.set_facecolor('none') # 设置图例legend背景透明
# 给每个数据矩形标注数值
autolabel(rectsTest1)
autolabel(rectsTest2)
autolabel(rectsTest3)
autolabel(rectsTest4)
autolabel(rectsTest5)
plt.savefig('C:/Users/XX/Desktop/test.png', format='png', bbox_inches='tight', transparent=True, dpi=600) # bbox_inches='tight'
图片边界空白紧致, 背景透明
效果可能在网页上看不出来,但还是把图片贴上来吧。
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家学习或者使用python能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对的支持。
# python
# matplotlib
# 图例
# python中matplotlib
# python 实现将小图片放到另一个较大的白色或黑色背景图片中
# Python matplotlib生成图片背景透明的示例代码
# wxPython实现窗口用图片做背景
# python通过pil为png图片填充上背景颜色的方法
# Python实现转换图片背景颜色代码
# 能在
# 朋友们
# 上看
# 相关资料
# 来吧
# 这篇文章
# 谢谢大家
# 贴上
# 找到了
# 不出来
# 有疑问
# get_width
# get_x
# rect
# ax
# get_height
# height
# labels
# autolabel
# def
相关文章:
如何快速生成凡客建站的专业级图册?
建站之星代理平台如何选择最佳方案?
建站之星如何快速更换网站模板?
企业网站制作费用多少,企业网站空间一般需要多大,费用是多少?
详解一款开源免费的.NET文档操作组件DocX(.NET组件介绍之一)
如何获取PHP WAP自助建站系统源码?
视频网站app制作软件,有什么好的视频聊天网站或者软件?
如何在Tomcat中配置并部署网站项目?
如何通过FTP空间快速搭建安全高效网站?
html制作网站的步骤有哪些,iapp如何添加网页?
如何通过wdcp面板快速创建网站?
如何制作网站标识牌,动态网站如何制作(教程)?
制作网站哪家好,cc、.co、.cm哪个域名更适合做网站?
矢量图网站制作软件,用千图网的一张矢量图做公司app首页,该网站并未说明版权等问题,这样做算不算侵权?应该如何解决?
天河区网站制作公司,广州天河区如何办理身份证?需要什么资料有预约的网站吗?
建站之星如何取消后台验证码生成?
广州建站公司哪家好?十大优质服务商推荐
网站专业制作公司,网站编辑是做什么的?好做吗?工作前景如何?
香港服务器建站指南:免备案优势与SEO优化技巧全解析
在线ppt制作网站有哪些软件,如何把网页的内容做成ppt?
c# 服务器GC和工作站GC的区别和设置
网站建设制作需要多少钱费用,自己做一个网站要多少钱,模板一般多少钱?
c# 在高并发场景下,委托和接口调用的性能对比
专业网站制作服务公司,有哪些网站可以免费发布招聘信息?
制作网站外包平台,自动化接单网站有哪些?
高端智能建站公司优选:品牌定制与SEO优化一站式服务
专业的网站制作设计是什么,如何制作一个企业网站,建设网站的基本步骤有哪些?
建站主机与虚拟主机有何区别?如何选择最优方案?
深圳网站制作案例,网页的相关名词有哪些?
如何用y主机助手快速搭建网站?
淘宝制作网站有哪些,淘宝网官网主页?
建站OpenVZ教程与优化策略:配置指南与性能提升
图片制作网站免费软件,有没有免费的网站或软件可以将图片批量转为A4大小的pdf?
济南网站建设制作公司,室内设计网站一般都有哪些功能?
学生网站制作软件,一个12岁的学生写小说,应该去什么样的网站?
建站之星展会模版如何一键下载生成?
如何选择最佳自助建站系统?快速指南解析优劣
手机钓鱼网站怎么制作视频,怎样拦截钓鱼网站。怎么办?
如何通过PHP快速构建高效问答网站功能?
建站之星官网登录失败?如何快速解决?
如何高效生成建站之星成品网站源码?
建站上传速度慢?如何优化加速网站加载效率?
制作网站的网址是什么,请问后缀为.com和.com.cn还有.cn的这三种网站是分别是什么类型的网站?
建站之星IIS配置教程:代码生成技巧与站点搭建指南
如何通过VPS建站实现广告与增值服务盈利?
如何用免费手机建站系统零基础打造专业网站?
哪家制作企业网站好,开办像阿里巴巴那样的网络公司和网站要怎么做?
如何处理“XML格式不正确”错误 常见XML well-formed问题解决方法
C++如何编写函数模板?(泛型编程入门)
如何挑选优质建站一级代理提升网站排名?
*请认真填写需求信息,我们会在24小时内与您取得联系。