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实现统计单词出现的个数
May 28 Python
Python常用的爬虫技巧总结
Mar 28 Python
使用Python微信库itchat获得好友和群组已撤回的消息
Jun 24 Python
Django中日期处理注意事项与自定义时间格式转换详解
Aug 06 Python
Python线上环境使用日志的及配置文件
Jul 28 Python
大家都说好用的Python命令行库click的使用
Nov 07 Python
Python csv文件的读写操作实例详解
Nov 19 Python
Python Selenium 设置元素等待的三种方式
Mar 18 Python
django创建css文件夹的具体方法
Jul 31 Python
Python实现中英文全文搜索的示例
Dec 04 Python
聊聊Python中关于a=[[]]*3的反思
Jun 02 Python
python如何为list实现find方法
May 30 Python
Python matplotlib绘制雷达图
Python万能模板案例之matplotlib绘制甘特图
Python万能模板案例之matplotlib绘制直方图的基本配置
python创建字典及相关管理操作
python微信智能AI机器人实现多种支付方式
Python中request的基本使用解决乱码问题
Apr 12 #Python
python模拟浏览器 使用selenium进入好友QQ空间并留言
You might like
首页四格,首页五格For6.0(GBK)(UTF-8)[12种组合][9-18][版主安装测试通过]
2007/09/24 PHP
PHP中防止直接访问或查看或下载config.php文件的方法
2012/07/07 PHP
php计算数组相同值出现次数的代码(array_count_values)
2015/01/20 PHP
PHP解密支付宝小程序的加密数据、手机号的示例代码
2021/02/26 PHP
HR vs CL BO3 第一场 2.13
2021/03/10 DOTA
基于jQuery的弹出框插件
2012/03/18 Javascript
js解析json读取List中的实体对象示例
2014/03/11 Javascript
Nodejs实现多人同时在线移动鼠标的小游戏分享
2014/12/06 NodeJs
jQuery实现仿美橙互联两级导航菜单的方法
2015/03/09 Javascript
Javascript中的arguments与重载介绍
2015/03/15 Javascript
Jquery简单实现GridView行高亮的方法
2015/06/15 Javascript
jQuery幻灯片特效代码分享--鼠标滑过按钮时切换(2)
2020/11/18 Javascript
jQuery+jsp实现省市县三级联动效果(附源码)
2015/12/03 Javascript
jQuery插件扩展实例【添加回调函数】
2016/11/26 Javascript
js仿微信语音播放实现思路
2016/12/12 Javascript
nodejs接入阿里大鱼短信验证码的方法
2017/07/10 NodeJs
Vue中$refs的用法详解
2018/06/24 Javascript
npm 常用命令详解(小结)
2019/01/17 Javascript
JS使用JSON.parse(),JSON.stringify()实现对对象的深拷贝功能分析
2019/03/06 Javascript
使用Taro实现小程序商城的购物车功能模块的实例代码
2020/06/05 Javascript
解决vue项目运行提示Warnings while compiling.警告的问题
2020/09/18 Javascript
进一步了解Python中的XML 工具
2015/04/13 Python
Python字符和字符值(ASCII或Unicode码值)转换方法
2015/05/21 Python
如何使用python爬取csdn博客访问量
2016/02/14 Python
python 动态加载的实现方法
2017/12/22 Python
Jupyter Notebook打开任意文件夹操作
2020/04/14 Python
基于Python-Pycharm实现的猴子摘桃小游戏(源代码)
2021/02/20 Python
C#软件工程师英语面试题
2015/06/07 面试题
司机检讨书
2014/02/13 职场文书
水电站项目建议书
2014/05/12 职场文书
缅怀革命先烈演讲稿
2014/05/14 职场文书
欢迎词范文
2015/01/27 职场文书
消防隐患整改通知书
2015/04/22 职场文书
MySQL 亿级数据导入导出及迁移笔记
2021/06/18 MySQL
详解Spring事件发布与监听机制
2021/06/30 Java/Android
分享3个非常实用的 Python 模块
2022/03/03 Python