Plotpy 绘制注释热图
热图是一种数据的图形化表示,其中矩阵中的每个值都被分配一个唯一的颜色。热图的主要目的是增加数据集中包含的位置和事件的总数的可视化准确性,以及引导观众注意数据可视化中最重要的方面的准确性。
热图主要用于提供数值的综合图片,因为它们依赖于颜色来表达数值。近年来,由于热图在显示重复趋势方面的灵活性和高效性,分析学科在热图的使用方面有所增长。
Plotpy
Plotly是Python编程语言的一个库,用于创建图形,特别是交互式图形。它能够生成许多不同的图形和图表,包括直方图、条形图、箱形图和散布图。它的大部分应用集中在数据分析和金融分析领域。用户可以使用plotly这个库创建交互式可视化。Plotly Python库是一个交互式和开源的绘图工具包,支持40多种不同的图表类型。这些图表可以做各种各样的工作,包括统计、金融、地理、科学甚至三维工作。
使用Python的用户可以通过使用plotly构建基于web的交互式可视化,它是建立在Plotly JavaScript库(plotly.js)之上的。这些可视化可以在Jupyter笔记本中查看,保存为独立的HTML文件,或作为仅使用Python的Web应用程序的一部分进行提供。所有这三个选项都是可用的。plotly是创建plotly的公司。为了避免与plotly JavaScript库混淆,plotly Python库通常被称为”plotly.py”。
热图
热图本身是不言自明的。颜色深度与数量成正比。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 中,颜色尺度或颜色图表是一个包含各种色调的平面物体。可以使用该图中的颜色尺度选项进行设置。
代码示例
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图形工厂模块制作带有注释的热图绘图。