软件测试|教你用matplotlib绘制热力图

liftword4周前 (04-05)技术文章13

前言

热力图,是一种通过对色块着色来显示数据的统计图表。绘图时,需指定颜色映射的规则。例如,较大的值由较深的颜色表示,较小的值由较浅的颜色表示;较大的值由偏暖的颜色表示,较小的值由较冷的颜色表示,等等。

当然,只要我们提供数据,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在地图上绘制热力图。

相关文章

基于Python的地图绘制教程

本文将介绍通过Python绘制地形图的方法,所需第三方Python相关模块包括 rasterio、geopandas、cartopy 等,可通过 pip 等方式安装。1 示例代码1.1 导入相关模块...

GeoPandas轻松绘制交互式在线地图

1 简介今天为大家详细介绍新版geopandas中,利用explore()制作在线地图可视化的方法:2 在geopandas中制作在线地图可视化explore()方法类似我们熟悉的plot()方法,是...

Python使用bokeh及folium实现地理位置信息的交互可视化

Talk is cheap,show U the code!1.普通版(常规地图)import numpy as np from bokeh.plotting import figure, show,...

Python高德地图指定区域经纬度数据抓取

在这里插入图片描述@Author : Runsen高德地图【东莞理工学院】如下链接为从高德地图获取【东莞理工学院】这个区域边界经纬度坐标点的链接https://ditu.amap.com/servic...

DeepSeek代码之旅2:卫星地图标记方法之——Pyside6实现

现在写代码,开始习惯把DeepSeek当作字典工具了,对于自己陌生的地方,问一问它,它均会给出详细的答案,包括使用方法方案,这以后的程序员真要得加油了!普通程序员危机重重了!不多说了,那个行业都要多学...