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利用Nagios增加微信报警通知的功能
Feb 18 Python
Python中的错误和异常处理简单操作示例【try-except用法】
Jul 25 Python
tensorflow实现对图片的读取的示例代码
Feb 12 Python
Python爬虫实现的根据分类爬取豆瓣电影信息功能示例
Sep 15 Python
Python文件时间操作步骤代码详解
Apr 13 Python
解决jupyter notebook 出现In[*]的问题
Apr 13 Python
PyInstaller的安装和使用的详细步骤
Jun 02 Python
Python爬取12306车次信息代码详解
Aug 12 Python
Python解析微信dat文件的方法
Nov 30 Python
使用django自带的user做外键的方法
Nov 30 Python
python实现计算器简易版
Dec 17 Python
python计算列表元素与乘积详情
Aug 05 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的类树(支持无限分类)
2006/10/09 PHP
一个用php实现的获取URL信息的类
2007/01/02 PHP
PHP生成短网址的3种方法代码实例
2014/07/08 PHP
ThinkPHP中的create方法与自动令牌验证实例教程
2014/08/22 PHP
ThinkPHP自动完成中使用函数与回调方法实例
2014/11/29 PHP
PHP IDE PHPStorm配置支持友好Laravel代码提示方法
2015/05/12 PHP
PHP自定义错误用法示例
2016/09/28 PHP
PHP文件管理之实现网盘及压缩包的功能操作
2017/09/20 PHP
Laravel 5.1 框架Blade模板引擎用法实例分析
2020/01/04 PHP
浅析PHP中json_encode与json_decode的区别
2020/07/15 PHP
jquery 学习之二 属性(html()与html(val))
2010/11/25 Javascript
JavaScript词法作用域与调用对象深入理解
2012/11/29 Javascript
JS 跳转页面延迟2种方法
2013/03/29 Javascript
JavaScript获取和设置CheckBox状态的简单方法
2013/07/05 Javascript
JS清除选择内容的方法
2015/01/29 Javascript
javascript实现base64 md5 sha1 密码加密
2015/09/09 Javascript
jQuery实现可用于博客的动态滑动菜单完整实例
2015/09/17 Javascript
Javascript页面跳转常见实现方式汇总
2015/11/28 Javascript
jQuery动态改变多行文本框高度的方法
2016/09/07 Javascript
Vue.js实战之组件的进阶
2017/04/04 Javascript
Angular2学习教程之TemplateRef和ViewContainerRef详解
2017/05/25 Javascript
Vue的百度地图插件尝试使用
2017/09/06 Javascript
微信小程序判断页面是否从其他页面返回的实例代码
2019/07/03 Javascript
jqGrid表格底部汇总、合计行footerrow处理
2019/08/21 Javascript
微信小程序单选框自定义赋值
2020/05/26 Javascript
[40:56]2018DOTA2亚洲邀请赛 3.31 小组赛 A组 Liquid vs TNC
2018/04/01 DOTA
开源Web应用框架Django图文教程
2017/03/09 Python
通过cmd进入python的实例操作
2019/06/26 Python
git查看、创建、删除、本地、远程分支方法详解
2020/02/18 Python
通过代码实例了解Python异常本质
2020/09/16 Python
计算机通信工程专业毕业生推荐信
2013/12/24 职场文书
班主任开场白
2015/06/01 职场文书
拥有这5个特征人,“命”都不会太差
2019/08/16 职场文书
MySQL令人大跌眼镜的隐式转换
2021/08/23 MySQL
MySQL中int (10) 和 int (11) 的区别
2022/01/22 MySQL
mysql中DCL常用的用户和权限控制
2022/03/31 MySQL