全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

Python利用matplotlib生成图片背景及图例透明的效果

前言

最近工作中遇到一个需求,在使用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小时内与您取得联系。