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 开发Activex组件方法
Nov 08 Python
Windows和Linux下使用Python访问SqlServer的方法介绍
Mar 10 Python
django实现同一个ip十分钟内只能注册一次的实例
Nov 03 Python
Python编程使用NLTK进行自然语言处理详解
Nov 16 Python
Python 类的特殊成员解析
Jun 20 Python
Python迭代器与生成器用法实例分析
Jul 09 Python
解决python selenium3启动不了firefox的问题
Oct 13 Python
Python图像处理之颜色的定义与使用分析
Jan 03 Python
详解Python3中ceil()函数用法
Feb 19 Python
用Python写一个自动木马程序
Sep 17 Python
Python pandas对excel的操作实现示例
Jul 21 Python
PyCharm2019.3永久激活破解详细图文教程,亲测可用(不定期更新)
Oct 29 Python
Python matplotlib绘制雷达图
Python万能模板案例之matplotlib绘制甘特图
Python万能模板案例之matplotlib绘制直方图的基本配置
python创建字典及相关管理操作
python微信智能AI机器人实现多种支付方式
Python中request的基本使用解决乱码问题
Apr 12 #Python
python模拟浏览器 使用selenium进入好友QQ空间并留言
You might like
php中的观察者模式
2010/03/24 PHP
php判断ip黑名单程序代码实例
2014/02/24 PHP
PHP实现自动识别原编码并对字符串进行编码转换的方法
2016/07/13 PHP
PHP设计模式之模板模式定义与用法详解
2018/12/20 PHP
js为空或不是对象问题的快速解决方法
2013/12/11 Javascript
jQuery DOM删除节点操作指南
2015/03/03 Javascript
.NET微信公众号开发之创建自定义菜单
2015/07/16 Javascript
JS实现按比例缩放图片的方法(附C#版代码)
2015/12/08 Javascript
基于javascript实现仿百度输入框自动匹配功能
2016/01/03 Javascript
jQuery Easyui 验证两次密码输入是否相等
2016/05/13 Javascript
浅谈javascript中关于日期和时间的基础知识
2016/07/13 Javascript
BootStrap CSS全局样式和表格样式源码解析
2017/01/20 Javascript
vuejs2.0子组件改变父组件的数据实例
2017/05/10 Javascript
jquery单击文字或图片内容放大并居中显示
2017/06/23 jQuery
基于JavaScript实现评论框展开和隐藏功能
2017/08/25 Javascript
web前端开发中常见的多列布局解决方案整理(一定要看)
2017/10/15 Javascript
在vue中通过axios异步使用echarts的方法
2018/01/13 Javascript
深入理解Vue Computed计算属性原理
2018/05/29 Javascript
一个简单的node.js界面实现方法
2018/06/01 Javascript
vue-cli项目配置多环境的详细操作过程
2018/10/30 Javascript
如何在selenium中使用js实现定位
2020/08/18 Javascript
微信小程序实现登录注册功能
2020/12/29 Javascript
Python文本相似性计算之编辑距离详解
2016/11/28 Python
python制作小说爬虫实录
2017/08/14 Python
Python探索之Metaclass初步了解
2017/10/28 Python
Python编程pygame模块实现移动的小车示例代码
2018/01/03 Python
使用pandas读取csv文件的指定列方法
2018/04/21 Python
python词云库wordCloud使用方法详解(解决中文乱码)
2020/02/17 Python
浅谈Python爬虫原理与数据抓取
2020/07/21 Python
最新Python idle下载、安装与使用教程图文详解
2020/11/28 Python
HTML5 transform三维立方体实现360无死角三维旋转效果
2014/08/22 HTML / CSS
总经理驾驶员岗位职责
2013/12/04 职场文书
信访工作经验交流材料
2014/05/23 职场文书
农村党支部承诺书
2015/04/30 职场文书
浅谈Nginx 中的两种限流方式
2021/03/31 Servers
Python探索生命起源 matplotlib细胞自动机动画演示
2022/04/21 Python