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计算已经过去多少个周末的方法
Jul 25 Python
深入理解Python 关于supper 的 用法和原理
Feb 28 Python
python学生信息管理系统
Mar 13 Python
Django网络框架之创建虚拟开发环境操作示例
Jun 06 Python
浅谈Python类中的self到底是干啥的
Nov 11 Python
Numpy将二维数组添加到空数组的实现
Dec 05 Python
解决Python命令行下退格,删除,方向键乱码(亲测有效)
Jan 16 Python
python字符串常用方法及文件简单读写的操作方法
Mar 04 Python
解决pymysql cursor.fetchall() 获取不到数据的问题
May 15 Python
python代码实现图书管理系统
Nov 30 Python
利用Python判断你的密码难度等级
Jun 02 Python
Python虚拟环境virtualenv是如何使用的
Jun 20 Python
Python matplotlib绘制雷达图
Python万能模板案例之matplotlib绘制甘特图
Python万能模板案例之matplotlib绘制直方图的基本配置
python创建字典及相关管理操作
python微信智能AI机器人实现多种支付方式
Python中request的基本使用解决乱码问题
Apr 12 #Python
python模拟浏览器 使用selenium进入好友QQ空间并留言
You might like
用Socket发送电子邮件
2006/10/09 PHP
表单复选框向PHP传输数据的代码
2007/11/13 PHP
在smarty模板中使用PHP函数的方法
2011/04/23 PHP
PHP函数篇详解十进制、二进制、八进制和十六进制转换函数说明
2011/12/05 PHP
php在数组中查找指定值的方法
2015/03/17 PHP
php header函数的常用http头设置
2015/06/25 PHP
基于PHP实现等比压缩图片大小
2016/03/04 PHP
php简单检测404页面的方法示例
2019/08/23 PHP
Laravel 登录后清空COOKIE的操作方法
2019/10/14 PHP
学习YUI.Ext基础第一天
2007/03/10 Javascript
js 限制数字 js限制输入实现代码
2012/12/04 Javascript
获取offsetTop和offsetLeft值的js代码(兼容)
2013/04/16 Javascript
解析JavaScript数组方法reduce
2016/12/12 Javascript
jQuery修改DOM结构_动力节点Java学院整理
2017/07/05 jQuery
js学习总结_轮播图之渐隐渐现版(实例讲解)
2017/07/17 Javascript
JS 中LocalStorage和SessionStorage的使用
2017/08/17 Javascript
vue中v-for循环给标签属性赋值的方法
2018/10/18 Javascript
JS中如何轻松遍历对象属性的方式总结
2019/08/06 Javascript
vue实现图片按比例缩放问题操作
2020/08/11 Javascript
[45:46]2014 DOTA2国际邀请赛中国区预选赛5.21 HGT VS DT
2014/05/23 DOTA
[42:32]完美世界DOTA2联赛PWL S2 LBZS vs FTD.C 第二场 11.27
2020/12/01 DOTA
详解Python3 中hasattr()、getattr()、setattr()、delattr()函数及示例代码数
2018/04/18 Python
利用PyCharm Profile分析异步爬虫效率详解
2019/05/08 Python
python里 super类的工作原理详解
2019/06/19 Python
django框架使用orm实现批量更新数据的方法
2019/06/21 Python
python实现飞机大战游戏(pygame版)
2020/10/26 Python
python实现简单坦克大战
2020/03/27 Python
使用Pycharm在运行过程中,查看每个变量的操作(show variables)
2020/06/08 Python
世界顶级足球门票网站:Live Football Tickets
2017/10/14 全球购物
联想新西兰官方网站:Lenovo New Zealand
2018/10/30 全球购物
Java面试题:请说出如下代码的输出结果
2013/04/22 面试题
学习作风建设心得体会
2014/10/22 职场文书
机关班子查摆问题及整改措施
2014/10/28 职场文书
详解gantt甘特图可拖拽、编辑(vue、react都可用 highcharts)
2021/11/27 Vue.js
漫画「古见同学有交流障碍症」第25卷封面公开
2022/03/21 日漫
python DataFrame中stack()方法、unstack()方法和pivot()方法浅析
2022/04/06 Python