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浅拷贝、深拷贝及引用机制
Dec 15 Python
Python之py2exe打包工具详解
Jun 14 Python
ubuntu安装mysql pycharm sublime
Feb 20 Python
Python Selenium Cookie 绕过验证码实现登录示例代码
Apr 10 Python
django认证系统实现自定义权限管理的方法
Jul 16 Python
解决在pycharm中显示额外的 figure 窗口问题
Jan 15 Python
python版百度语音识别功能
Jul 09 Python
python开发实例之python使用Websocket库开发简单聊天工具实例详解(python+Websocket+JS)
Mar 18 Python
PyCharm最新激活码(2020/10/27全网最新)
Oct 27 Python
如何通过python检查文件是否被占用
Dec 18 Python
pytorch 计算Parameter和FLOP的操作
Mar 04 Python
python for循环赋值问题
Jun 03 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
phpMyAdmin 链接表的附加功能尚未激活的问题
2010/08/01 PHP
PHP实现数组递归转义的方法
2014/08/28 PHP
getimagesize获取图片尺寸实例
2014/11/15 PHP
Win7下手动安装apache2.2、php5.4笔记
2015/04/03 PHP
PHP安装BCMath扩展的方法
2019/02/13 PHP
PHP自动载入类文件函数__autoload的使用方法
2019/03/25 PHP
Laravel6.2中用于用户登录的新密码确认流程详解
2019/10/16 PHP
Javascript的闭包
2009/12/31 Javascript
js 得到文件后缀(通过正则实现)
2013/07/08 Javascript
js 控制页面跳转的5种方法
2013/09/09 Javascript
JQuery实现鼠标移动到图片上显示边框效果
2014/01/09 Javascript
详细解读AngularJS中的表单验证编程
2015/06/19 Javascript
JavaScript获取当前cpu使用率的方法
2015/12/15 Javascript
浅谈js中字符和数组一些基本算法题
2016/08/15 Javascript
JavaScript中的FileReader图片预览上传功能实现代码
2017/07/24 Javascript
基于js中的存储键值对以及注意事项介绍
2018/03/30 Javascript
vue3.0 CLI - 1 - npm 安装与初始化的入门教程
2018/09/14 Javascript
Angular使用Restful的增删改
2018/12/28 Javascript
JS div匀速移动动画与变速移动动画代码实例
2019/03/26 Javascript
VUE组件中的 Drawer 抽屉实现代码
2019/08/06 Javascript
Python读取ini文件、操作mysql、发送邮件实例
2015/01/01 Python
Python实现Windows上气泡提醒效果的方法
2015/06/03 Python
python 2.7.14安装图文教程
2018/04/08 Python
对Python模块导入时全局变量__all__的作用详解
2019/01/11 Python
python将excel转换为csv的代码方法总结
2019/07/03 Python
python——全排列数的生成方式
2020/02/26 Python
Restful_framework视图组件代码实例解析
2020/11/17 Python
浅谈HTML5新增和废弃的标签
2019/04/28 HTML / CSS
html5给汉字加拼音加进度条的实现代码
2020/04/07 HTML / CSS
美国在线奢侈品寄售商店:Luxury Garage Sale
2018/08/19 全球购物
基层干部十八大感言
2014/01/19 职场文书
产品质量承诺书范文
2014/03/27 职场文书
本科毕业生求职信
2014/06/15 职场文书
2014迎接教师节演讲稿
2014/09/10 职场文书
单位同意报考证明
2015/06/17 职场文书
Mysql8.0递归查询的简单用法示例
2021/08/04 MySQL