Plotly 热图
本教程将讨论在 Python 中使用 Plotly 的 imshow()
和 Heatmap()
函数创建热图。
在 Python 中使用 Plotly 的 imshow()
函数创建热图
热图将数据表示为彩色矩形,其中颜色根据色阶而变化。我们可以使用 plotly.express
的 imshow()
函数来创建给定数据的热图。
imshow()
函数仅将 2D 数据作为输入。例如,让我们创建一个二维矩阵并将其传递给 imshow()
函数。请参阅下面的代码。
import plotly.express as px
data = [[1, 10, 20],
[30, 1, 10],
[20, 30, 1]]
fig = px.imshow(data)
fig.show()
输出:
imshow()
函数使用默认颜色序列根据其值为每个三角形赋予不同的颜色。我们可以使用 color_continuous_scale
参数更改默认颜色序列,并将其值设置为支持的颜色序列名称,如 hot
和 HSV
。
要将热图图表转换为在每个子图中包含单个列的子图组,我们可以将 facet_col
用于列并将其值设置为用于设置子图名称的整数或字符串列表。
我们还可以使用 facet_col_spacing
参数更改每个子图之间的间距,并将其值设置为从 0 到 1 的浮点数。我们可以使用 title
参数更改图的标题。
我们可以使用 width
和 height
参数更改绘图的宽度和高度。我们可以使用 aspect
参数来设置每个矩形的大小相等。
例如,让我们更改上面提到的属性。请参阅下面的代码。
import plotly.express as px
data = [[1, 10, 20],
[30, 1, 10],
[20, 30, 1]]
fig = px.imshow(data, color_continuous_scale='hot', title='HeatMap', width=600, height=500, aspect='equal')
fig.show()
输出:
在 Python 中使用 Plotly 的 Heatmap()
函数创建热图
我们还可以使用 plotly.graph_objects
的 Heatmap()
函数来创建给定数据的热图。我们必须在 Heatmap()
函数中传递 x、y 和 z 轴值。
z 轴值属于热图的颜色。如果我们只传递 z 轴值,则其他两个轴值将从矩阵索引中获取。
让我们使用随机矩阵来创建热图。请参阅下面的代码。
import plotly.graph_objects as go
z= [[1, 10, 20],
[30, 1, 10],
[20, 30, 1]]
data = go.Heatmap(z=z)
fig = go.Figure(data)
fig.show()
输出:
我们可以将 x 和 y 轴的值设置为字符串或整数列表,但大小应与输入 z 矩阵的列数相同。
我们还可以使用 colorscale
参数更改默认颜色序列,并将其值设置为受支持的颜色序列名称,例如 hot 和 Viridis
。
我们可以使用 opacity
参数更改绘图的不透明度,并将其值从 0 设置为 1。
我们还可以使用 hoverinfo
参数隐藏悬停信息并将其值设置为跳过。我们可以使用 showscale
参数隐藏颜色条并将其值设置为 false。
让我们更改上面提到的属性。请参阅下面的代码。
import plotly.graph_objects as go
z= [[1, 10, 20],
[30, 1, 10],
[20, 30, 1]]
data = go.Heatmap(z=z,x=['Monday', 'Tuesday', 'Wednesday'],
y=['Morning', 'Afternoon', 'Evening'],
hoverongaps = False,colorscale='Viridis',
opacity=0.8, hoverinfo='skip', showscale=False)
fig = go.Figure(data)
fig.show()
输出: