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 相关文章推荐
python读写二进制文件的方法
May 09 Python
Python基于回溯法子集树模板解决最佳作业调度问题示例
Sep 08 Python
Python实现动态添加属性和方法操作示例
Jul 25 Python
对Python subprocess.Popen子进程管道阻塞详解
Oct 29 Python
Jupyter notebook在mac:linux上的配置和远程访问的方法
Jan 14 Python
PyQt5+requests实现车票查询工具
Jan 21 Python
python 实现按对象传值
Dec 26 Python
Python基于yield遍历多个可迭代对象
Mar 12 Python
Numpy一维线性插值函数的用法
Apr 22 Python
Python:__eq__和__str__函数的使用示例
Sep 26 Python
单身狗福利?Python爬取某婚恋网征婚数据
Jun 03 Python
Django模型层实现多表关系创建和多表操作
Jul 21 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
受疫情影响 动画《Re从零开始的异世界生活》第二季延期至7月
2020/03/10 日漫
php Ajax乱码
2008/04/09 PHP
PHP AjaxForm提交图片上传并显示图片源码
2016/11/29 PHP
php+resumablejs实现的分块上传 断点续传功能示例
2017/04/18 PHP
深入理解JavaScript编程中的同步与异步机制
2015/06/24 Javascript
Jquery组件easyUi实现表单验证示例
2016/08/23 Javascript
微信小程序 navigation API实例详解
2016/10/02 Javascript
分类解析jQuery选择器
2016/11/23 Javascript
详解jQuery uploadify文件上传插件的使用方法
2016/12/16 Javascript
JQuery validate 验证一个单独的表单元素实例
2017/02/17 Javascript
使用jQuery,Angular实现登录界面验证码详解
2017/04/27 jQuery
详解Vue用axios发送post请求自动set cookie
2017/05/10 Javascript
jQuery Ajax向服务端传递数组参数值的实例代码
2017/09/03 jQuery
vue实现滑动切换效果(仅在手机模式下可用)
2020/06/29 Javascript
java实现单链表增删改查的实例代码详解
2019/08/30 Javascript
Vue关于组件化开发知识点详解
2020/05/13 Javascript
vue:el-input输入时限制输入的类型操作
2020/08/05 Javascript
Vue select 绑定动态变量的实例讲解
2020/10/22 Javascript
[38:23]2014 DOTA2国际邀请赛中国区预选赛 5 23 CIS VS LGD第一场
2014/05/24 DOTA
Python中声明只包含一个元素的元组数据方法
2014/08/25 Python
python快速查找算法应用实例
2014/09/26 Python
基于DATAFRAME中元素的读取与修改方法
2018/06/08 Python
Python列表推导式与生成器用法分析
2018/08/02 Python
Python实现简单查找最长子串功能示例
2019/02/26 Python
django 邮件发送模块smtp使用详解
2019/07/22 Python
Python中的四种交换数值的方法解析
2019/11/18 Python
python numpy实现多次循环读取文件 等间隔过滤数据示例
2020/03/14 Python
python中列表的含义及用法
2020/05/26 Python
PyTorch 导数应用的使用教程
2020/08/31 Python
解决pip安装tensorflow中出现的no module named tensorflow.python 问题方法
2021/02/20 Python
python快速安装OpenCV的步骤记录
2021/02/22 Python
领导干部培训感言
2014/01/23 职场文书
写给女朋友的检讨书
2014/01/28 职场文书
校车安全责任书
2014/08/25 职场文书
巧用 -webkit-box-reflect 倒影实现各类动效(小结)
2021/04/22 HTML / CSS
Mysql数据库按时间点恢复实战记录
2021/06/30 MySQL