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进行验证码识别的一些想法
Jan 25 Python
解决python 输出是省略号的问题
Apr 19 Python
详谈pandas中agg函数和apply函数的区别
Apr 20 Python
python3+PyQt5使用数据库窗口视图
Apr 24 Python
在cmd中运行.py文件: python的操作步骤
May 12 Python
解决python os.mkdir创建目录失败的问题
Oct 16 Python
解决Django中多条件查询的问题
Jul 18 Python
Python安装及Pycharm安装使用教程图解
Sep 20 Python
Python发送手机动态验证码代码实例
Feb 28 Python
python3 自动打印出最新版本执行的mysql2redis实例
Apr 09 Python
Python request使用方法及问题总结
Apr 26 Python
用python发送微信消息
Dec 21 Python
Python matplotlib绘制雷达图
Python万能模板案例之matplotlib绘制甘特图
Python万能模板案例之matplotlib绘制直方图的基本配置
python创建字典及相关管理操作
python微信智能AI机器人实现多种支付方式
Python中request的基本使用解决乱码问题
Apr 12 #Python
python模拟浏览器 使用selenium进入好友QQ空间并留言
You might like
PHP 日期加减的类,很不错
2009/10/10 PHP
DOM XPATH获取img src值的query
2013/09/23 PHP
解决php的“It is not safe to rely on the system’s timezone settings”问题
2015/10/08 PHP
PHP水印类,支持添加图片、文字、填充颜色区域的实现
2017/02/04 PHP
23个超流行的jQuery相册插件整理分享
2011/04/25 Javascript
js绑定事件this指向发生改变的问题解决方法
2013/04/23 Javascript
按下回车键指向下一个位置的一个函数代码
2014/03/10 Javascript
JS的框架Polymer中的dom-if和is属性使用说明
2015/07/29 Javascript
FullCalendar日历插件应用之数据展现(一)
2015/12/23 Javascript
Angularjs整合微信UI(weui)
2016/03/15 Javascript
利用jquery实现验证输入的是否是数字、小数,包含保留几位小数
2016/12/07 Javascript
jQuery实现的简单拖动层示例
2017/02/22 Javascript
vue+VeeValidate 校验范围实例详解(部分校验,全部校验)
2018/10/19 Javascript
Node.js使用supervisor进行开发中调试的方法
2019/03/26 Javascript
vue 实现模糊检索并根据其他字符的首字母顺序排列
2019/09/19 Javascript
Vue-cli项目部署到Nginx服务器的方法
2019/11/01 Javascript
Vue基础配置讲解
2019/11/29 Javascript
Vue使用vue-draggable 插件在不同列表之间拖拽功能
2020/03/12 Javascript
vue结合el-upload实现腾讯云视频上传功能
2020/07/01 Javascript
Python文件读写保存操作的示例代码
2018/09/14 Python
python 二维数组90度旋转的方法
2019/01/28 Python
Django后台admin的使用详解
2019/07/08 Python
Python Django 页面上展示固定的页码数实现代码
2019/08/21 Python
使用Python实现Wake On Lan远程开机功能
2020/01/22 Python
Roxy美国官网:澳大利亚冲浪、滑雪健身品牌
2016/07/30 全球购物
米兰网婚纱礼服法国网上商店:Milanoo法国
2016/08/20 全球购物
Merrell迈乐澳大利亚网站:购买户外登山鞋
2017/05/28 全球购物
阿根廷首家户外用品制造商和经销商:Montagne
2018/02/12 全球购物
迪斯尼假期(欧洲、中东及非洲):Disney Holidays EMEA
2021/02/15 全球购物
党的群众路线教育实践活动先进个人材料
2014/12/24 职场文书
大学生逃课检讨书
2015/05/04 职场文书
社区服务活动感想
2015/08/11 职场文书
Python实现单例模式的5种方法
2021/06/15 Python
Spring-cloud Config Server的3种配置方式
2021/09/25 Java/Android
基于Redis结合SpringBoot的秒杀案例详解
2021/10/05 Redis
php实现自动生成验证码的实例讲解
2021/11/17 PHP