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实现CET查分的方法
Mar 10 Python
在Linux上安装Python的Flask框架和创建第一个app实例的教程
Mar 30 Python
Python做文本按行去重的实现方法
Oct 19 Python
Python使用selenium实现网页用户名 密码 验证码自动登录功能
May 16 Python
详解Python进阶之切片的误区与高级用法
Dec 24 Python
Python企业编码生成系统之主程序模块设计详解
Jul 26 Python
解决Python3下map函数的显示问题
Dec 04 Python
nginx搭建基于python的web环境的实现步骤
Jan 03 Python
Win 10下Anaconda虚拟环境的教程
May 18 Python
python logging 重复写日志问题解决办法详解
Aug 04 Python
Python实现加密的RAR文件解压的方法(密码已知)
Sep 11 Python
解决python3.x安装numpy成功但import出错的问题
Nov 17 Python
Python matplotlib绘制雷达图
Python万能模板案例之matplotlib绘制甘特图
Python万能模板案例之matplotlib绘制直方图的基本配置
python创建字典及相关管理操作
python微信智能AI机器人实现多种支付方式
Python中request的基本使用解决乱码问题
Apr 12 #Python
python模拟浏览器 使用selenium进入好友QQ空间并留言
You might like
剧场版动画《PSYCHO-PASS 3 FIRST INSPECTOR》3月27日日本上映!
2020/03/06 日漫
zen cart新进商品的随机排序修改方法
2010/09/10 PHP
ThinkPHP 3.2.2实现事务操作的方法
2017/05/05 PHP
js 居中漂浮广告
2010/03/21 Javascript
jquery png 透明解决方案(推荐)
2010/08/21 Javascript
Jquery AJAX POST与GET之间的区别
2013/11/14 Javascript
jquery实现html页面 div 假分页有原理有代码
2014/09/06 Javascript
jQuery Mobile 触摸事件实例
2016/06/04 Javascript
省市联动效果的简单实现代码(推荐)
2016/06/06 Javascript
javascript正则表达式中分组详解
2016/07/17 Javascript
Node.js的特点详解
2017/02/03 Javascript
利用node.js写一个爬取知乎妹纸图的小爬虫
2017/05/03 Javascript
JavaScript仿微信(电话)联系人列表滑动字母索引实例讲解(推荐)
2017/08/16 Javascript
requireJS模块化实现返回顶部功能的方法详解
2017/10/16 Javascript
node文件批量重命名的方法示例
2017/10/23 Javascript
解决微信小程序防止无法回到主页的问题
2018/09/28 Javascript
Windows下支持自动更新的Electron应用脚手架的方法
2018/12/24 Javascript
vue实现滑动切换效果(仅在手机模式下可用)
2020/06/29 Javascript
vue实现修改图片后实时更新
2019/11/14 Javascript
mpvue网易云短信接口实现小程序短信登录的示例代码
2020/04/03 Javascript
vue实现五子棋游戏
2020/05/28 Javascript
vue+swiper实现左右滑动的测试题功能
2020/10/30 Javascript
[00:08]DOTA2勇士令状等级奖励“天外飞星”
2019/05/24 DOTA
Python中实现参数类型检查的简单方法
2015/04/21 Python
matplotlib在python上绘制3D散点图实例详解
2017/12/09 Python
python 装饰器的使用示例
2020/10/10 Python
Python列表元素删除和remove()方法详解
2021/01/04 Python
浅谈Html5多线程开发之WebWorkers
2018/05/02 HTML / CSS
纽约21世纪百货官网:Century 21
2016/08/27 全球购物
凯撒娱乐:Caesars Entertainment
2018/02/23 全球购物
连带责任保证书
2014/04/29 职场文书
教师节宣传方案
2014/05/23 职场文书
上海世博会口号
2014/06/19 职场文书
保送生自荐信范文
2015/03/26 职场文书
格林童话读书笔记
2015/06/30 职场文书
python 单机五子棋对战游戏
2022/04/28 Python