You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用Plotly在Jupyter Notebook绘制热力图失败,输出代码文本求助

在Jupyter Notebook中用Plotly绘制热力图失败的问题排查与解决

我帮你分析下这个问题哈,你遇到的这种输出一堆代码文本而不是热力图的情况,大概率是Plotly离线模式在Jupyter Notebook里的渲染配置出了问题,再加上pandas版本的小兼容问题,具体拆解如下:

问题原因拆解

  • Plotly离线模式未初始化:在Jupyter环境里使用Plotly offline时,必须先初始化notebook渲染模式,否则Plotly没法在单元格里渲染出交互式图表,只会输出原始的字典代码
  • as_matrix()已被弃用:新版本的pandas里,DataFrame.as_matrix()方法已经被移除了,改用to_numpy()或者.values来获取数值矩阵,这个方法调用出错也可能导致图表渲染失败

修复后的完整代码

把你的代码改成这样试试:

import plotly.offline as py
import plotly.graph_objs as go
import pandas as pd
import numpy as np

# 关键步骤:初始化Plotly的notebook渲染模式
py.init_notebook_mode(connected=True)

# 假设dfs是你已经加载好的有效DataFrame
# 替换已弃用的as_matrix()为to_numpy()
corr_matrix = dfs.corr(method='pearson').to_numpy()

heatmap = go.Heatmap(
    z=corr_matrix,
    x=dfs.columns,
    y=dfs.columns,
    colorbar=dict(title='Pearson Coefficient'),
)
layoutheat = go.Layout(title="变量相关性热力图")
figheat = go.Figure(data=[heatmap], layout=layoutheat)
py.iplot(figheat)

额外注意事项

  • 确保你的dfs是有效的数值型DataFrame,如果存在非数值列,需要先过滤掉,否则corr()计算会出错
  • 如果还是有问题,可以检查下Plotly和pandas的版本,尽量保持版本兼容:Plotly建议用4.x以上版本,pandas用1.x以上版本

内容的提问来源于stack exchange,提问作者Delphian

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.15 08:33:13