使用 Plotpy 在 Python 中创建带注释的热力图
介绍
热力图是一种图形化数据表示,其中矩阵中的每个值都分配一个唯一的颜色。热力图的主要目的是提高数据集中包含的场所和事件总数的可视化精度,以及它们引导观看者关注数据可视化中最重要方面的准确性。
热力图利用颜色传达值,最常用于提供数值的更全面视图。这是因为热力图依靠颜色来表达值。近年来,分析领域越来越多地使用热力图,这在很大程度上归因于它们揭示重复趋势的适应性和效率。
Plotpy
Plotly 是一个用于 Python 编程语言的库,可用于创建图形,尤其是交互式图形。它能够生成许多不同的图形和图表,其中包括直方图、条形图、箱线图和散点图。它的大部分应用都集中在数据分析和金融分析领域。用户能够借助 Plotly(一个库)创建交互式可视化。Plotly Python 库是一个交互式开源绘图工具包。它支持超过 40 种不同的图表类型。这些类型的图表可以完成各种工作,包括统计、金融、地理、科学,甚至三维工作。
Python 用户可以通过使用 Plotly 创建交互式基于 Web 的可视化,Plotly 构建在 Plotly JavaScript 库 (plotly.js) 之上。这些可视化可以在 Jupyter Notebook 中查看,保存为独立的 HTML 文件,或作为使用 Dash 的纯 Python Web 应用程序的一部分提供。所有这三种选择都可用。Plotly 公司创建了 Plotly。为了将其与 Plotly JavaScript 库区分开来,Plotly Python 库通常称为“plotly.py”。这样做是为了避免与 Plotly JavaScript 库混淆。
热力图
热力图本质上是不言自明的。数量与颜色的深度成正比。Heatmap() 函数可以在 Plotly 应用程序的图形对象模块中找到。需要存在 x、y 和 z 属性。它们的值可以是列表、NumPy 数组或 Pandas 数据帧。所有三个选项都是有效的。
热力图是一种二维数据可视化,通过为矩阵中包含的每个数字分配不同的颜色来显示信息。
Seaborn 包使得创建带注释的热力图成为可能,然后可以使用 Matplotlib 提供的工具根据开发人员的要求对其进行自定义。
热力图代码示例
import plotly.figure_factory as ff import numpy as npp import seaborn as sbn xt = [0,1,3,5,6,7,8,9,11] yt = [2,5,11,7,8,3,5,12,3] [Xx, Yy] = npp.meshgrid(xt, yt) Zz = (Xx / 2) + (Yy / 4) fig_plot = sbn.heatmap(Zz) fig_plot.show()
输出
带注释的热力图
因为它们揭示了与行或列相关的其他信息,所以带注释的热力图是热力图中最重要的组成部分。注释热力图将显示为网格行,这将使大量测量值能够相互比较。
语法
create_annotated_heatmap(z, x=None, annotation_text=None,colorscale=’Plasma’, font_colors=None, showscale=False, reversescale=False)
参数说明
x − 这里 x 是 x 轴标签。
y − 这里 y 是 y 轴标签。
z − 用于生成热力图的 z 矩阵。
注释文本 − 由用于注释的文本字符串组成。尺寸必须与 z 矩阵的尺寸匹配。如果未提供文本,则会注释 z 矩阵的值。
默认值 − z 矩阵值。
颜色比例尺 − 热力图颜色比例尺。
带注释的热力图代码示例
import plotly.figure_factory as ff import numpy as npp xt = [0,1,3,5,6,7,8,9,11] yt = [2,5,11,7,8,3,5,12,3] [Xx, Yy] = npp.meshgrid(xt, yt) Zz = (Xx / 2) + (Yy / 4) fig_plot = ff.create_annotated_heatmap(Zz) fig_plot.show()
输出
如何在热力图中定义颜色比例尺?
在 Plotly 中,颜色比例尺或颜色图是一个包含各种色调的平面物理对象。它可以通过此图中的 colorscale 选项设置。
代码示例
import plotly.figure_factory as pf import numpy as npp xt = [0,1,3,5,6,7,8,9,11] yt = [2,5,11,7,8,3,5,12,3] [Xx, Yy] = npp.meshgrid(xt, yt) Zz = (Xx / 2) + (Yy / 4) fig_plot = ff.create_annotated_heatmap(Zz, colorscale='rainbow') fig_plot.show()
输出
在热力图中添加自定义颜色比例尺
import plotly.figure_factory as ff import numpy as npp xt = [0,1,3,5,6,7,8,9,11] yt= [2,5,11,7,8,3,5,12,3] [Xx, Yy] = npp.meshgrid(xt, yt) Zz = (Xx / 2) + (Yy / 4) custom_col = [[0.2, 'pink'], [0.3, 'blue']] fig_plot = ff.create_annotated_heatmap(Zz, colorscale=custom_col) fig_plot.show()
输出
结论
在本文中,我们了解了如何使用 Plotly 图形工厂模块创建带注释的热力图。