Python之Matplotlib绘制热力图和面积图


Posted in Python onApril 13, 2022

1.绘制面积图

面积图常用于描述某指标随时间的变化程度。其面积也通常可以有一定的含义。

绘制面积图使用的是plt.stackplot()方法。

以小学时期学的 常见的追击相遇问题中的速度时间图像为例,下边绘制出一幅简单的v-t图像。

全局字体设为默认的黑体,时间为从第0秒到第10秒,描述的是甲乙两个物体的速度。显然,面积则表示位移。

标题部分字体使用楷体(将系统中的TTF字体文件"STKAITI.TTF"复制到了当前目录下)。

import matplotlib.pyplot as plt
from matplotlib import font_manager

fig = plt.figure(1, facecolor='#ffffcc', figsize=(6, 6))
plt.rcParams['font.sans-serif'] = ['SimHei']
plt.rcParams['axes.unicode_minus'] = False
plt.rcParams['axes.facecolor'] = '#cc00ff'
x = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
v1 = [1, 1, 1, 2, 3, 4, 5, 5, 5, 5, 5]
v2 = [0.5, 0.5, 0.5, 1, 1.5, 2, 2.5, 3, 3, 2, 1]
plt.stackplot(x, v1, color=['#ff0000'])
plt.stackplot(x, v2, color=['#33ff66'])
plt.xlim(0, 10)
plt.title('v-t图像', fontsize=25, color='#0033cc', fontproperties=font_manager.FontProperties(fname="STKAITI.TTF"))
plt.xlabel('t/s')
plt.ylabel('v/(m/s)')
plt.legend(['甲', '乙'], bbox_to_anchor=(0.2, 0.95))
plt.show()

图像效果呈现如下:

Python之Matplotlib绘制热力图和面积图

2.绘制热力图

在数据分析中,热力图也是一种常用的方法,热力图通过色差、亮度来展示数据与数据之间的差异。

绘制热力图使用的是plt.imshow()方法,这个方法也即matplotlib中图像处理常用的方法。

下边做一个热力图的案例示例:

import matplotlib.pyplot as plt
from matplotlib import font_manager
import numpy as np
np.random.seed(30)
data = np.random.randint(70, 100, (30, 8))
plt.imshow(data)
plt.xticks(range(0, 8), ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H'])
plt.yticks(range(0, 30), np.array(range(1, 31), dtype='U3'))
# 显示颜色条
plt.colorbar()
plt.title('30个产品的ABCDEFGH指标热力图', fontsize=25, color='#0033cc', fontproperties=font_manager.FontProperties(fname="STKAITI.TTF"))
plt.show()

图像效果呈现如下:

Python之Matplotlib绘制热力图和面积图

到此这篇关于详解Python+Matplotlib绘制面积图&热力图的文章就介绍到这了!

Python 相关文章推荐
python中函数总结之装饰器闭包详解
Jun 12 Python
Python 文件处理注意事项总结
Apr 10 Python
Python实现的微信红包提醒功能示例
Aug 22 Python
django商品分类及商品数据建模实例详解
Jan 03 Python
浅谈pandas.cut与pandas.qcut的使用方法及区别
Mar 03 Python
Python unittest 自动识别并执行测试用例方式
Mar 09 Python
利用python生成照片墙的示例代码
Apr 09 Python
jupyter notebook oepncv 显示一张图像的实现
Apr 24 Python
python:删除离群值操作(每一行为一类数据)
Jun 08 Python
使用Python将语音转换为文本的方法
Aug 10 Python
Python3爬虫RedisDump的安装步骤
Feb 20 Python
基于Python实现的购物商城管理系统
Apr 27 Python
Python matplotlib绘制雷达图
Python万能模板案例之matplotlib绘制甘特图
Python万能模板案例之matplotlib绘制直方图的基本配置
python创建字典及相关管理操作
python微信智能AI机器人实现多种支付方式
Python中request的基本使用解决乱码问题
Apr 12 #Python
python模拟浏览器 使用selenium进入好友QQ空间并留言
You might like
ecshop 批量上传(加入自定义属性)
2012/03/20 PHP
关于PHP结束标签的使用细节探讨及联想
2013/03/04 PHP
thinkphp5.1框架实现格式化mysql时间戳为日期的方式小结
2019/10/10 PHP
详解no input file specified 三种解决方法
2019/11/29 PHP
node.js中的events.emitter.removeAllListeners方法使用说明
2014/12/10 Javascript
node.js调用C++开发的模块实例
2015/07/03 Javascript
node.js express安装及示例网站搭建方法(分享)
2016/08/22 Javascript
JavaScript 是什么意思
2016/09/22 Javascript
js实现功能比较全面的全选和多选
2017/03/02 Javascript
Vue-Cli中自定义过滤器的实现代码
2017/08/12 Javascript
基于jQuery Ajax实现下拉框无刷新联动
2017/12/06 jQuery
AngularJs点击状态值改变背景色的实例
2017/12/18 Javascript
VUE-Table上绑定Input通过render实现双向绑定数据的示例
2018/08/27 Javascript
jQuery实现基本动画效果的方法详解
2018/09/06 jQuery
vue+Element实现搜索关键字高亮功能
2019/05/28 Javascript
微信小程序实现点击效果
2019/06/21 Javascript
小程序简单两栏瀑布流效果的实现
2019/12/18 Javascript
vue输入框使用模糊搜索功能的实现代码
2020/05/26 Javascript
vue-quill-editor 自定义工具栏和自定义图片上传路径操作
2020/08/03 Javascript
Python实现将绝对URL替换成相对URL的方法
2015/06/28 Python
python 专题九 Mysql数据库编程基础知识
2017/03/16 Python
python smtplib模块自动收发邮件功能(二)
2018/05/22 Python
在python中利用KNN实现对iris进行分类的方法
2018/12/11 Python
python读取csv和txt数据转换成向量的实例
2019/02/12 Python
解决Python正则表达式匹配反斜杠''\''问题
2019/07/17 Python
Python中bisect的使用方法
2019/12/31 Python
python实现最速下降法
2020/03/24 Python
Pycharm配置lua编译环境过程图解
2020/11/28 Python
使用sublime text3搭建Python编辑环境的实现
2021/01/12 Python
使用canvas一步步实现图片打码功能的方法
2019/06/17 HTML / CSS
vue 中 get / delete 传递数组参数方法
2021/03/23 Vue.js
财政专业求职信范文
2014/02/19 职场文书
抵押贷款承诺书
2014/05/30 职场文书
css display table 自适应高度、宽度问题的解决
2021/05/07 HTML / CSS
MySQL中的布尔值,怎么存储false或true
2021/06/04 MySQL
docker-compose部署Yapi的方法
2022/04/08 Servers