Plotly报错'dict'对象无write_html属性 无法导出HTML文件
问题原因
报错AttributeError: 'dict' object has no attribute 'write_html'的核心原因:你手动构造的fig是普通Python字典类型,并非Plotly官方的Figure类实例,只有Figure实例才内置write_html这类导出方法。
解决方法
有两种可行方案,任选其一即可:
方案1(推荐):将字典转换为Plotly Figure对象
在你定义完fig = dict(data=[data_trace], layout=layout)后,新增一行转换代码,后续即可正常调用导出方法:
# 将字典转为Figure实例 fig = go.Figure(fig) # 现在可以正常调用write_html导出文件了 fig.write_html("sankey.html")
该方案的优势是转换后你可以使用Plotly Figure类的所有内置功能,比如动态修改图表配置、导出为图片/JSON等其他格式,操作灵活度更高。
方案2:直接使用offline的plot方法生成HTML
无需修改fig的类型,直接用你已经导入的plotly.offline.plot方法导出文件即可,你之前用的iplot是专门用于Notebook环境内联渲染的接口,不会生成本地文件,替换为plot即可:
from plotly.offline import plot # 直接传入字典类型的fig,自动生成HTML文件 plot(fig, filename='sankey.html', validate=False, auto_open=False)
参数说明:auto_open设为False时不会在生成文件后自动打开浏览器,可根据需求调整。
内容的提问来源于stack exchange,提问作者Encomium
相关产品推荐
相关产品推荐

