前言

最近工作中遇到一个需求,在使用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能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对脚本之家的支持。

python 三维图 背景_Python利用matplotlib生成图片背景及图例透明的效果相关推荐

  1. python 三维图直方图_Python | 阶梯直方图

    python 三维图直方图 A histogram is a graphical technique or a type of data representation using bars of di ...

  2. python绘制折线图保存_Python利用matplotlib绘制折线图的新手教程

    前言 matplotlib是Python中的一个第三方库.主要用于开发2D图表,以渐进式.交互式的方式实现数据可视化,可以更直观的呈现数据,使数据更具说服力. 一.安装matplotlib pip i ...

  3. python怎么用散点图_Python利用matplotlib绘制散点图的新手教程

    前言 上篇文章介绍了使用matplotlib绘制折线图,参考:https://www.jb51.net/article/198991.htm,本篇文章继续介绍使用matplotlib绘制散点图. 一. ...

  4. python 做界面时如何使图片保持透明背景_Python matplotlib生成图片背景透明的示例代码...

    使用matplotlib生成图片,想要背景透明,而且图例部分也显示透明效果,找到了大概的设置方法,特此记录. # coding=utf-8 # matplotlib背景透明示例图 # python 3 ...

  5. python绘制三维图散点图_python matplotlib模块——绘制三维图形、三维数据散点图...

    分类: 计算机视觉 python matplotlib模块,是扩展的MATLAB的一个绘图工具库.他可以绘制各种图形,可是最近最的一个小程序,得到一些三维的数据点图,就学习了下python中的matp ...

  6. python 做界面时如何使图片保持透明背景_Python matplotlib生成图片背景透明

    使用matplotlib生成图片,想要背景透明,而且图例部分也显示透明效果,找到了大概的设置方法,特此记录. # coding=utf-8 # matplotlib背景透明示例图 # python 3 ...

  7. python 三维图 背景_Python 绘制酷炫的三维图步骤详解

    通常我们用 Python 绘制的都是二维平面图,但有时也需要绘制三维场景图,比如像下面这样的: 这些图怎么做出来呢?今天就来分享下如何一步步绘制出三维矢量(SVG)图. 八面体 我们先以下面这个八面体 ...

  8. python绘制散点图、如何选两列作为横坐标_Python利用matplotlib绘制散点图的新手教程...

    前言 上篇文章介绍了使用matplotlib绘制折线图,参考:https://www.jb51.net/article/198991.htm,本篇文章继续介绍使用matplotlib绘制散点图. 一. ...

  9. Python matplotlib生成图片背景透明

    使用matplotlib生成图片,想要背景透明,而且图例部分也显示透明效果,找到了大概的设置方法,特此记录. # coding=utf-8 # matplotlib背景透明示例图 # python 3 ...

最新文章

  1. shell中几个特殊的符号
  2. 神经网络与机器学习 笔记—复制器(恒等)映射
  3. 基于thrift的微服务框架
  4. ios 获取一个枚举的所有值_凯哥带你从零学大数据系列之Java篇---第十一章:枚举...
  5. HDU - 2571 
  6. c语言如何引用参数,关于exec:如何在C语言中使用适当的参数调用execl()?
  7. HDU 2088 Box of Bricks
  8. Orcale分析函数OVER(PARTITION BY... ORDER BY...)的讲解
  9. 2.冒泡排序----还是不懂,先记录下来
  10. Sketch实例教程:制作一个时钟
  11. 卡尔曼滤波理论讲解与应用(matlab和python)
  12. 服务器装系统不识别硬盘分区,安装系统无法识别分区解决方法
  13. [SUCTF 2018]GetShell 中文字符取反绕过
  14. 直线分割平面的公式_折线(含直线)分割平面(图文)解析
  15. 我们工作到底为了什么
  16. hibernate复习第(三)天
  17. [渝粤教育] 宁波财经学院 金融工程学 参考 资料
  18. python 自动上色_Github | 线稿自动上色
  19. CSS最详细的基础教程
  20. 量子计算机qled,量子点发光原理详解

热门文章

  1. 地府后台管理系统30.已经在开发中,介绍下目前的工作进度和未来展望
  2. android五子棋设计模板,基于android的五子棋游戏设计
  3. 【gateway系列】手把手教你gateway整合nacos注册中心
  4. 安全是什么意思_屈老师小班安全教案《安全标志》
  5. php slaveokay 设置,PHP: MongoCursor::slaveOkay - Manual
  6. python多线程实现for循环_Python多线程实现同时执行两个while循环
  7. 不会SQL?没关系,以后动动嘴就能查询数据库了 | 附论文
  8. 【iPhone X重磅发布】携A11人工智能芯片登场,人脸识别9大特征
  9. 线程工具类 - CountDownLatch(倒计时器)
  10. SQL Server大数据表的分区存储