为什么使用fig.show()无法绘制Plotly图表,报错dict无show属性?
报错原因与解决方法
核心原因
- 你代码里构造的
fig是普通Python字典对象,而.show()是Plotly的go.Figure类的专属实例方法,普通字典本身没有这个方法,所以会抛出属性错误。 - 原代码使用的旧版离线渲染接口
iplot支持直接传入由data和layout组成的字典结构渲染图表,因此原有写法可以正常运行;但你参考的官方文档示例里的fig都是go.Figure类的实例,和你当前的fig类型完全不一致,所以直接替换写法会报错。
修复方案
可以任选以下两种方案之一修复:
- 转换为Figure实例后调用show方法
将原有代码中构造fig的行:
fig = dict(data = data, layout = layout)
替换为:
fig = go.Figure(data=data, layout=layout)
后续直接调用fig.show()即可正常渲染图表。
2. 使用兼容字典输入的渲染接口
不需要修改fig的构造逻辑,将fig.show()替换为如下代码即可:
import plotly.io as pio pio.show(fig)
内容的提问来源于stack exchange,提问作者wahyu dimas
相关产品推荐
相关产品推荐

