Python matplotlib生成图片背景透明的示例代码


Posted in Python onAugust 30, 2019

使用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 相关文章推荐
R vs. Python 数据分析中谁与争锋?
Oct 18 Python
利用信号如何监控Django模型对象字段值的变化详解
Nov 27 Python
浅谈用VSCode写python的正确姿势
Dec 16 Python
Python字典,函数,全局变量代码解析
Dec 18 Python
Python cookbook(数据结构与算法)从任意长度的可迭代对象中分解元素操作示例
Feb 13 Python
使用python绘制二维图形示例
Nov 22 Python
Django框架教程之中间件MiddleWare浅析
Dec 29 Python
python opencv根据颜色进行目标检测的方法示例
Jan 15 Python
Python3 pickle对象串行化代码实例解析
Mar 23 Python
Python 使用xlwt模块将多行多列数据循环写入excel文档的操作
Nov 10 Python
python 统计list中各个元素出现的次数的几种方法
Feb 20 Python
python数字图像处理:图像的绘制
Jun 28 Python
Python 批量刷博客园访问量脚本过程解析
Aug 30 #Python
快速解决docker-py api版本不兼容的问题
Aug 30 #Python
Python 使用 Pillow 模块给图片添加文字水印的方法
Aug 30 #Python
python pillow模块使用方法详解
Aug 30 #Python
docker-py 用Python调用Docker接口的方法
Aug 30 #Python
tesserocr与pytesseract模块的使用方法解析
Aug 30 #Python
Django获取应用下的所有models的例子
Aug 30 #Python
You might like
如何给phpadmin一个保护
2006/10/09 PHP
php 数组排序 array_multisort与uasort的区别
2011/03/24 PHP
PHP 验证登陆类分享
2015/03/13 PHP
PHP Warning: Module 'modulename' already loaded in问题解决办法
2015/03/16 PHP
thinkPHP框架乐观锁和悲观锁实例分析
2019/10/30 PHP
JavaScript 学习笔记(九)call和apply方法
2010/01/11 Javascript
使用js完成节点的增删改复制等的操作
2014/01/02 Javascript
开源的javascript项目Kissy介绍
2014/11/28 Javascript
javascript实现简单的全选和反选功能
2016/01/05 Javascript
JQuery异步加载PartialView的方法
2016/06/07 Javascript
Node.js实现文件上传
2016/07/05 Javascript
jQuery如何封装输入框插件
2016/08/19 Javascript
AngularJs bootstrap搭载前台框架——基础页面
2016/09/01 Javascript
Node.js中看JavaScript的引用
2017/04/22 Javascript
bootstrap轮播图示例代码分享
2017/05/17 Javascript
JS判断一个数是否是水仙花数
2017/06/11 Javascript
elementUI select组件默认选中效果实现的方法
2019/03/25 Javascript
vue鼠标悬停事件实例详解
2019/04/01 Javascript
jquery实现选项卡切换代码实例
2019/05/14 jQuery
Vue export import 导入导出的多种方式与区别介绍
2020/02/12 Javascript
python一键升级所有pip package的方法
2017/01/16 Python
python实现决策树ID3算法的示例代码
2018/05/30 Python
Python面向对象类的继承实例详解
2018/06/27 Python
详解python中docx库的安装过程
2019/11/08 Python
Python 串口通信的实现
2020/09/29 Python
python用opencv 图像傅里叶变换
2021/01/04 Python
CSS3教程(6):创建网站多列
2009/04/02 HTML / CSS
服务中心夜班服务员岗位职责
2013/11/27 职场文书
资源环境与城市管理专业推荐信
2013/11/30 职场文书
运动会广播稿500字
2014/01/28 职场文书
英语专业学生个人求职信
2014/01/28 职场文书
祖国在我心中演讲稿600字
2014/09/23 职场文书
承诺书模板大全
2015/05/04 职场文书
长辈生日祝福语大全(72句)
2019/08/09 职场文书
解决pytorch读取自制数据集出现过的问题
2021/05/31 Python
教你nginx跳转配置的四种方式
2022/07/07 Servers