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 13 Python
python 检查是否为中文字符串的方法
Dec 28 Python
Python实现的插入排序,冒泡排序,快速排序,选择排序算法示例
May 04 Python
python求最大值,不使用内置函数的实现方法
Jul 09 Python
基于Python实现扑克牌面试题
Dec 11 Python
Selenium启动Chrome时配置选项详解
Mar 18 Python
Python urlencode和unquote函数使用实例解析
Mar 31 Python
解决python运行效率不高的问题
Jul 20 Python
浅析python 字典嵌套
Sep 29 Python
用python批量下载apk
Dec 29 Python
在python3.9下如何安装scrapy的方法
Feb 03 Python
Python爬虫+tkinter界面实现历史天气查询的思路详解
Feb 22 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
用PHP实现 上一篇、下一篇的代码
2012/09/29 PHP
php实现的读取CSV文件函数示例
2017/02/07 PHP
PHP实现对数组分页处理实例详解
2017/02/07 PHP
php获取linux命令结果的实例
2017/03/13 PHP
PHP读取CSV大文件导入数据库的实例
2017/07/24 PHP
Yii Framework框架开发微信公众平台示例
2020/04/26 PHP
use jscript Create a SQL Server database
2007/06/16 Javascript
js模拟hashtable的简单实例
2014/03/06 Javascript
jQuery树形下拉菜单特效代码分享
2015/08/15 Javascript
写jQuery插件时的注意点
2017/02/20 Javascript
jQuery鼠标悬停内容动画切换效果
2017/04/27 jQuery
vue使用stompjs实现mqtt消息推送通知
2017/06/22 Javascript
jquery实现下拉菜单的手风琴效果
2017/07/23 jQuery
强大的JavaScript响应式图表Chartist.js的使用
2017/09/13 Javascript
vue移动端监听滚动条高度的实现方法
2018/09/03 Javascript
在微信小程序中渲染HTML内容的方法示例
2018/09/28 Javascript
VUE解决微信签名及SPA微信invalid signature问题(完美处理)
2019/03/29 Javascript
Vue强制组件重新渲染的方法讨论
2020/02/03 Javascript
jquery检测上传文件大小示例
2020/04/26 jQuery
如何搭建一个完整的Vue3.0+ts的项目步骤
2020/10/18 Javascript
[02:28]DOTA2亚洲邀请赛 LGD战队巡礼
2015/02/03 DOTA
Python实现批量执行同目录下的py文件方法
2019/01/11 Python
QML用PathView实现轮播图
2020/06/03 Python
python判断正负数方式
2020/06/03 Python
使用豆瓣源来安装python中的第三方库方法
2021/01/26 Python
美国领先的礼品卡网站:GiftCards.com
2016/11/02 全球购物
英国最大的老式糖果店:A Quarter Of
2017/04/08 全球购物
几道Java和数据库的面试题
2013/05/30 面试题
初中生学习生活的自我评价
2013/11/20 职场文书
医院实习介绍信
2014/01/12 职场文书
《兰亭集序》教学反思
2014/02/11 职场文书
水电站项目建议书
2014/05/12 职场文书
捐款仪式主持词
2015/07/04 职场文书
七年级作文之我的梦想
2019/10/16 职场文书
java如何实现获取客户端ip地址的示例代码
2022/04/07 Java/Android
Mysql InnoDB 的内存逻辑架构
2022/05/06 MySQL