软件测试|Python数据可视化神器——pyecharts教程(八)

发布时间 2023-11-15 17:22:09作者: 霍格沃兹测试开发学社

Pyecharts绘制热力图

当涉及可视化数据时,热力图是一种强大的工具,它可以帮助我们直观地了解数据集中的模式和趋势。在本文中,我们将学习如何使用 Python 中的 Pyecharts 库创建热力图,以便将数据转化为可视化的形式。

什么是热力图?

热力图是一种用于显示数据密度的二维图表,其中颜色的变化表示在坐标上的数据值。热力图通常用于可视化数据集中的分布,以便查看数据的高密度和低密度区域,从而识别出数据的模式和关联性。

数据准备

为了演示,我们将使用一个虚拟的数据集,其中包含了一些随机生成的数据点。在实际绘制中,我们可以根据自己的需求替换为真实的数据。代码如下:

import random

data = []
for _ in range(100):
    data.append([random.randint(0, 10), random.randint(0, 10), random.randint(1, 100)])

这个数据集由一系列三元组组成,分别表示 x 坐标、y 坐标和数据值。

绘制基本热力图

现在我们将使用 Pyecharts 来创建热力图。以下是创建热力图的步骤:

  1. 所需的库和模块:
from pyecharts import options as opts
from pyecharts.charts import HeatMap
  1. 创建 HeatMap 实例,并设置数据和基本配置:
heatmap = HeatMap()
heatmap.add_xaxis(list(range(11)))  # X 轴范围为 0 到 10
heatmap.add_yaxis("", list(range(11)), data)
heatmap.set_global_opts(
    title_opts=opts.TitleOpts(title="热力图示例"),
    visualmap_opts=opts.VisualMapOpts(is_show=False),  # 可以自定义调整颜色映射等参数
)
heatmap.set_series_opts(label_opts=opts.LabelOpts(is_show=False))
  1. 生成 HTML 文件或在 Jupyter Notebook 中显示热力图:
heatmap.render("heatmap.html")  # 将热力图保存为 HTML 文件
heatmap.render_notebook()  # 在 Jupyter Notebook 中显示热力图

热力图如下:

在这个示例中,我们设置了 X 轴和 Y 轴的坐标范围为 0 到 10,然后通过 add_xaxisadd_yaxis 方法将数据添加到热力图中。通过 set_global_opts 方法,我们可以设置标题和颜色映射,通过set_series_opts设置是否展示热力图的数值。

添加色块数值

当我们将opts.LabelOptsis_show参数设置为True时,每个色块上将显示对应的数值,如下:

import random
from pyecharts import options as opts
from pyecharts.charts import HeatMap


data = []
for _ in range(100):
    data.append([random.randint(0, 10), random.randint(0, 10), random.randint(1, 100)])


heatmap = HeatMap()
heatmap.add_xaxis(list(range(11)))  # X 轴范围为 0 到 10
heatmap.add_yaxis("", list(range(11)), data)
heatmap.set_global_opts(
    title_opts=opts.TitleOpts(title="热力图示例"),
    visualmap_opts=opts.VisualMapOpts(is_show=False),  # 可以自定义调整颜色映射等参数
)
heatmap.set_series_opts(label_opts=opts.LabelOpts(is_show=True))


heatmap.render("heatmap.html")  # 将热力图保存为 HTML 文件

添加热力标尺

opts.VisualMapOpts()is_show设置为True时,会在热力图中添加热力标尺,我们在拖动热力标尺时,会突出相应的色块。

import random
from pyecharts import options as opts
from pyecharts.charts import HeatMap


data = []
for _ in range(100):
    data.append([random.randint(0, 10), random.randint(0, 10), random.randint(1, 100)])


heatmap = HeatMap()
heatmap.add_xaxis(list(range(11)))  # X 轴范围为 0 到 10
heatmap.add_yaxis("", list(range(11)), data)
heatmap.set_global_opts(
    title_opts=opts.TitleOpts(title="热力图示例"),
    visualmap_opts=opts.VisualMapOpts(is_show=True),  # 可以自定义调整颜色映射等参数
)
heatmap.set_series_opts(label_opts=opts.LabelOpts(is_show=True))


heatmap.render("heatmap.html")  # 将热力图保存为 HTML 文件

总结

通过使用 Pyecharts 库,我们可以轻松地创建漂亮的热力图,以便更好地理解和展示数据集中的模式和趋势。本文介绍了创建热力图的基本步骤,我们可以根据需要进一步定制热力图的样式和设置,以便最好地展示数据。

获取更多技术资料,请点击!