软件测试|教你用matplotlib绘制热力图
【摘要】 前言热力图,是一种通过对色块着色来显示数据的统计图表。绘图时,需指定颜色映射的规则。例如,较大的值由较深的颜色表示,较小的值由较浅的颜色表示;较大的值由偏暖的颜色表示,较小的值由较冷的颜色表示,等等。当然,只要我们提供数据,Python就能够绘制出热力图。下面我们就来介绍一下如何使用Python结合matplotlib来绘制热力图。 环境数据准备我们使用到的还是matplotlib,所以环...
前言
热力图,是一种通过对色块着色来显示数据的统计图表。绘图时,需指定颜色映射的规则。例如,较大的值由较深的颜色表示,较小的值由较浅的颜色表示;较大的值由偏暖的颜色表示,较小的值由较冷的颜色表示,等等。
当然,只要我们提供数据,Python就能够绘制出热力图。下面我们就来介绍一下如何使用Python结合matplotlib来绘制热力图。
环境数据准备
我们使用到的还是matplotlib,所以环境安装还是一条命令如下:
pip install matplotlib
数据我们采取随机生成,随机生成不同车型在不同省份的销售数据,通过numpy读取数据。
代码实现
import numpy as np
import matplotlib as mpl
import matplotlib.pyplot as plt
# 防止乱码
mpl.rcParams["font.sans-serif"] = ["SimHei"]
mpl.rcParams["axes.unicode_minus"] = False
types = ["朗逸", "卡罗拉", "速腾", "雷凌", "思域", "轩逸", "帝豪"]
provices = ['广东', '江西', '浙江', '江苏', '湖北', '上海', '陕西']
sales = np.random.rand(7, 7)*5 # 车型销售数据
plt.rcParams['font.size'] = 18
plt.rcParams['font.weight'] = 'heavy'
plt.figure(figsize=(9,9))
im = plt.imshow(sales)
plt.xticks(np.arange(len(provices)),provices,rotation = 45,ha = 'right')
plt.yticks(np.arange(len(types)),types)
# 绘制⽂本
for i in range(len(types)):
for j in range(len(provices)):
text = plt.text(j, i, round(sales[i, j],1),
ha="center", va="center", color='r')
plt.title("不同省份各车型销售数据 (in 10000/year)",pad = 20)
plt.savefig('./热⼒图.png')
运行代码绘制的图像如下:
从图像上我们可以看到,销量高的单元格颜色越偏暖色调,销量低的单元格颜色越偏冷色调,这就是热力图的。热度越高颜色越深,热度越低颜色越浅。
总结
本文主要讲解了使用Python结合matplotlib绘制热力图的方法,后续我们将介绍使用Python在地图上绘制热力图。
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)