Plotly调用io.to_html()传config参数报multiple values错误如何解决?
错误原因
你混淆了to_html()和write_html()的参数逻辑:
write_html()的作用是将图表HTML写入本地文件,所以第一个参数为输出文件路径,后续可以正常传入config等配置参数,你原来的写法是正确的。to_html()的作用是直接返回图表的HTML字符串,不支持传入文件路径作为参数。你把'first_figure.html'作为第一个位置参数传入to_html()时,该参数会按顺序匹配到方法定义中的default_width参数,后续参数依次向后偏移,导致位置参数已经占了config的入参位置,你又显式传入了关键字参数config=config,最终抛出「参数重复赋值」的错误。
解决方案
根据你的使用场景二选一即可:
场景1:仅需要获取HTML字符串用于拼接报告(不写入本地文件)
直接去掉路径参数即可:
config = {'staticPlot': True, 'displayModeBar': False} # 直接拿到HTML字符串 figure_html = fig.to_html(config=config) # 后续可以直接把figure_html插入到你的报告HTML模板的对应位置
场景2:需要同时保存到本地文件+获取HTML字符串
可以先拿到HTML字符串再手动写文件,避免两次处理图表:
config = {'staticPlot': True, 'displayModeBar': False} figure_html = fig.to_html(config=config) # 手动写入文件 with open('first_figure.html', 'w', encoding='utf-8') as f: f.write(figure_html)
内容的提问来源于stack exchange,提问作者Igor Silva
相关产品推荐
相关产品推荐

