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


Posted in Python onApril 27, 2017

前言

最近工作中遇到一个需求,在使用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利用matplotlib生成图片背景及图例透明的效果

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家学习或者使用python能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对三水点靠木的支持。

Python 相关文章推荐
使用Python抓取模板之家的CSS模板
Mar 16 Python
在IIS服务器上以CGI方式运行Python脚本的教程
Apr 25 Python
Python引用模块和查找模块路径
Mar 17 Python
Python操作SQLite数据库的方法详解【导入,创建,游标,增删改查等】
Jul 11 Python
Python中getpass模块无回显输入源码解析
Jan 11 Python
Python简单定义与使用二叉树示例
May 11 Python
在Django中URL正则表达式匹配的方法
Dec 20 Python
python实现剪切功能
Jan 23 Python
Django Rest framework频率原理与限制
Jul 26 Python
Python多线程模块Threading用法示例小结
Nov 09 Python
Django返回HTML文件的实现方法
Sep 17 Python
在Python中字典按值排序的实现方法
Nov 12 Python
python使用matplotlib绘图时图例显示问题的解决
Apr 27 #Python
Python中生成Epoch的方法
Apr 26 #Python
python 网络编程详解及简单实例
Apr 25 #Python
python 全文检索引擎详解
Apr 25 #Python
window下eclipse安装python插件教程
Apr 24 #Python
Python处理PDF及生成多层PDF实例代码
Apr 24 #Python
python爬虫框架scrapy实战之爬取京东商城进阶篇
Apr 24 #Python
You might like
第十三节 对象串行化 [13]
2006/10/09 PHP
晋城吧对DiscuzX进行的前端优化要点
2010/09/05 PHP
php正则表达式学习笔记
2015/11/13 PHP
PHP常见的6个错误提示及解决方法
2016/07/07 PHP
PHP长连接实现与使用方法详解
2018/02/11 PHP
PHP7中I/O模型内核剖析详解
2019/04/14 PHP
JavaScript中获取元素索引的函数
2010/09/10 Javascript
js操作label给label赋值及取label的值示例
2013/11/07 Javascript
JS检测输入字符是否包含非法字符的示例代码
2014/02/11 Javascript
吐槽一下我所了解的Node.js
2014/10/08 Javascript
深入理解JavaScript系列(38):设计模式之职责链模式详解
2015/03/04 Javascript
js实现交换运动效果的方法
2015/04/10 Javascript
js制作带有遮罩弹出层实现登录注册表单特效代码分享
2015/09/05 Javascript
Seajs 简易文档 提供简单、极致的模块化开发体验
2016/04/13 Javascript
Angularjs的启动过程分析
2017/07/18 Javascript
详解vantUI框架在vue项目中的应用踩坑
2018/12/06 Javascript
Javascript执行上下文顺序的深入讲解
2020/11/04 Javascript
Vue router安装及使用方法解析
2020/12/02 Vue.js
微信小程序实现下拉加载更多商品
2020/12/29 Javascript
windows系统中python使用rar命令压缩多个文件夹示例
2014/05/06 Python
使用Python解析JSON数据的基本方法
2015/10/15 Python
深入理解Python中装饰器的用法
2016/06/28 Python
python使用fork实现守护进程的方法
2017/11/16 Python
python画折线图的程序
2018/07/26 Python
使用CodeMirror实现Python3在线编辑器的示例代码
2019/01/14 Python
python 浅谈serial与stm32通信的编码问题
2019/12/18 Python
使用pytorch实现可视化中间层的结果
2019/12/30 Python
Python 使用双重循环打印图形菱形操作
2020/08/09 Python
The North Face北面法国官网:美国著名户外品牌
2019/11/01 全球购物
理工大学毕业生自荐信
2013/11/01 职场文书
会计专业自我鉴定范文
2013/12/29 职场文书
2014年母亲节寄语
2014/05/07 职场文书
实验室标语
2014/06/21 职场文书
小学优秀教师事迹材料
2014/12/16 职场文书
行政前台岗位职责
2015/04/16 职场文书
Python使用Kubernetes API访问集群
2021/05/30 Python