plotly.graph_objects 正在保存旧信息

Posted

技术标签:

【中文标题】plotly.graph_objects 正在保存旧信息【英文标题】:plotly.graph_objects is saving old info 【发布时间】:2021-12-03 16:23:06 【问题描述】:

我使用以下示例代码在 python 中创建了一个图表。

import plotly.graph_objects as go

from matplotlib.pyplot import figure

image_path = "C:/Users/Me/Pictures/x.png"

fig = go.Figure(go.Indicator(...))

fig.write_image(image_path)

当我用相同的代码创建新图像时,旧数据仍然存在于某处,并与旧数据而不是新数据一起保存。

我尝试使用fig.close(),但收到错误'Figure' object has no attribute 'close'。我也尝试过使用plt.close('all'),但没有成功。

我尝试查看ploty.graph_objects 页面,但找不到如何关闭图像或使用新数据保存新图像。

我还尝试在每次运行后使用 fig.data = []fig.layout = 清除图形数据/布局

我也试过fig.show(),它在循环图像时确实显示了正确的图像,但保存的图像仍然显示旧数据。

关于如何使用新数据从 plotly 中保存图形对象的任何想法?

【问题讨论】:

你为什么要混合 matplotlib 和 plotly? 【参考方案1】: 循环生成四个指标 保存到文件名 x.pngx_.png x.pngx_750.png 是一样的,所以文件肯定会被覆盖
import plotly.graph_objects as go
from pathlib import Path

p = Path.cwd().joinpath("indicator_images")
if not p.is_dir():
    p.mkdir()

for v in [300,450,600,750]:
    fig = go.Figure(go.Indicator(
        mode = "gauge+number",
        value = v,
        title = 'text': "Speed",
        domain = 'x': [0, 1], 'y': [0, 1]
    ))
    fig.write_image(p.joinpath("x.png"))
    fig.write_image(p.joinpath(f"x_v.png"))

【讨论】:

以上是关于plotly.graph_objects 正在保存旧信息的主要内容,如果未能解决你的问题,请参考以下文章