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

Plotly设置Kaleido默认宽高报AttributeError问题咨询

Plotly设置默认宽高报空属性错误的解决方法

报错原因

Plotly 5.11及以上版本调整了静态导出模块的初始化逻辑,导入plotly.io时不会自动初始化pio.kaleido.scope对象,未提前触发kaleido加载流程时该属性值为None,直接修改它的子属性就会抛出'NoneType' object has no attribute 'default_width'错误。

解决方法

  • 全局通用配置(推荐,同时覆盖交互展示、静态导出全场景)
    直接修改默认模板的布局配置,不需要依赖kaleido的初始化状态,配置后所有新生成的图表都会默认使用这个宽高设置:

    import plotly.io as pio
    # 设为None代表自适应容器宽高,需要固定尺寸直接传入对应像素数值即可
    pio.templates.default.layout.width = None
    pio.templates.default.layout.height = None
    
  • 仅针对kaleido静态导出设置默认宽高
    先手动初始化kaleido作用域,再修改对应配置就不会触发空对象报错:

    import plotly.io as pio
    # 手动加载kaleido引擎
    pio._kaleido_scope = pio.KaleidoScope()
    # 配置静态导出的默认宽高
    pio.kaleido.scope.default_width = None
    pio.kaleido.scope.default_height = None
    

如果执行上述代码仍报错,先检查本地kaleido依赖状态,执行pip install -U kaleido升级到兼容版本即可,存在版本冲突时可安装适配性更稳定的0.2.1版本,执行命令pip install kaleido==0.2.1。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.27 17:03:22