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 正在保存旧信息的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 plotly.graph_objects 绘制 3D 线?

Plotly:如何使用 plotly.graph_objects 将两个 3D 图放在同一个图上?

python plotly graph_objects box marker的属性异常颜色不起作用(可能的错误)

为啥在同一数据上表达 line 和 graph_objects 散点图不同的日期?

如何绘制两个相互重叠的图形?

我正在尝试将数据保存在数据库中,但它正在保存每个输入更改