返回

用 Plotly 绘制五彩缤纷的热力图

人工智能

欢迎来到彼得的创意绘图世界,今天我们一起看看 Plotly 如何绘制迷人的热力图。

热力图的奥妙

热力图是一种数据可视化工具,用于展示数据点的分布和相关性。通过颜色来编码数据值,我们能一目了然地看到数据分布的趋势。在 Plotly 中,绘制热力图有三种方式:

  • heatmap:基本款热力图,适合展示简单的二维数据分布
  • imshow:功能更强大的热力图,支持多维数据和多种颜色方案
  • contour:绘制轮廓线,方便我们查看数据的分布趋势

这三个绘图方式各有特色,今天我们就来详细解读每一种方式的使用方法,并分享一些实际案例,帮助大家轻松上手。

绘制基本款热力图:heatmap

heatmap 是最简单易用的热力图绘制方式。它可以快速绘制出一个二维数组的数据分布情况,并且支持多种颜色方案。

操作步骤:

  1. 准备数据:

    • 准备好你的数据,确保它是一个二维数组。
    • 数据值可以是任何数值类型,但建议使用浮点数以获得更好的视觉效果。
  2. 导入库:

    import plotly.graph_objects as go
    import numpy as np
    
  3. 创建图形对象:

    fig = go.Figure()
    
  4. 添加热力图:

    fig.add_trace(go.Heatmap(z=data, colorscale='Viridis'))
    
  5. 设置标题和轴标签:

    fig.update_layout(title='Heatmap Example', xaxis_title='X Axis', yaxis_title='Y Axis')
    
  6. 显示图形:

    fig.show()
    

示例代码:

import plotly.graph_objects as go
import numpy as np

# 准备数据
data = np.random.randint(0, 100, size=(10, 10))

# 创建图形对象
fig = go.Figure()

# 添加热力图
fig.add_trace(go.Heatmap(z=data, colorscale='Viridis'))

# 设置标题和轴标签
fig.update_layout(title='Heatmap Example', xaxis_title='X Axis', yaxis_title='Y Axis')

# 显示图形
fig.show()

绘制多维热力图:imshow

imshow 函数可以绘制多维数据,并支持更加丰富的颜色方案和更加复杂的布局。

操作步骤:

  1. 准备数据:

    • 准备好你的数据,它可以是多维数组,也可以是包含多维数组的列表。
    • 数据值可以是任何数值类型,但建议使用浮点数以获得更好的视觉效果。
  2. 导入库:

    import plotly.graph_objects as go
    import numpy as np
    
  3. 创建图形对象:

    fig = go.Figure()
    
  4. 添加热力图:

    fig.add_trace(go.Imshow(z=data, colorscale='Viridis'))
    
  5. 设置标题和轴标签:

    fig.update_layout(title='Imshow Example', xaxis_title='X Axis', yaxis_title='Y Axis')
    
  6. 显示图形:

    fig.show()
    

示例代码:

import plotly.graph_objects as go
import numpy as np

# 准备数据
data = np.random.randint(0, 100, size=(10, 10, 3))

# 创建图形对象
fig = go.Figure()

# 添加热力图
fig.add_trace(go.Imshow(z=data, colorscale='Viridis'))

# 设置标题和轴标签
fig.update_layout(title='Imshow Example', xaxis_title='X Axis', yaxis_title='Y Axis')

# 显示图形
fig.show()

绘制轮廓线:contour

contour 函数可以绘制轮廓线,轮廓线可以帮助我们更清晰地看到数据的分布趋势。

操作步骤:

  1. 准备数据:

    • 准备好你的数据,它可以是二维数组,也可以是包含二维数组的列表。
    • 数据值可以是任何数值类型,但建议使用浮点数以获得更好的视觉效果。
  2. 导入库:

    import plotly.graph_objects as go
    import numpy as np
    
  3. 创建图形对象:

    fig = go.Figure()
    
  4. 添加轮廓线:

    fig.add_trace(go.Contour(z=data, colorscale='Viridis'))
    
  5. 设置标题和轴标签:

    fig.update_layout(title='Contour Example', xaxis_title='X Axis', yaxis_title='Y Axis')
    
  6. 显示图形:

    fig.show()
    

示例代码:

import plotly.graph_objects as go
import numpy as np

# 准备数据
data = np.random.randint(0, 100, size=(10, 10))

# 创建图形对象
fig = go.Figure()

# 添加轮廓线
fig.add_trace(go.Contour(z=data, colorscale='Viridis'))

# 设置标题和轴标签
fig.update_layout(title='Contour Example', xaxis_title='X Axis', yaxis_title='Y Axis')

# 显示图形
fig.show()

结语

这就是 Plotly 绘制热力图的三个方式,希望对大家有所帮助。掌握了这些方法,你就可以轻松绘制出各种各样的热力图,让你的数据可视化更加丰富多彩。

如果你想进一步提升自己的数据可视化技巧,欢迎关注我的其他文章,我会分享更多精彩的内容。

感谢阅读!