Animation 如何导出/保存用plotly制作的动画气泡图?

Animation 如何导出/保存用plotly制作的动画气泡图?,animation,charts,plotly,Animation,Charts,Plotly,如何导出/保存用plotly制作的动画气泡图?(例如,一个是根据下面的链接制作的)我想把它做成礼物或是分辨率更好的格式。先谢谢你 不可能在plotly中执行此操作。请使用givemaker并将动画中的每个步骤保存为一张图片,以便以后将它们合并为gif。plotly提供了有关如何创建动画的进一步说明 基本方法是将此逻辑集成到plotly代码的动画过程中: import ImageSequence import Image import gifmaker sequence = [] im

如何导出/保存用plotly制作的动画气泡图?(例如,一个是根据下面的链接制作的)我想把它做成礼物或是分辨率更好的格式。先谢谢你


不可能在plotly中执行此操作。请使用
givemaker
并将动画中的每个步骤保存为一张图片,以便以后将它们合并为gif。plotly提供了有关如何创建动画的进一步说明

基本方法是将此逻辑集成到plotly代码的动画过程中:

 import ImageSequence
 import Image
 import gifmaker
 sequence = []

 im = Image.open(....)

 # im is your original image
 frames = [frame.copy() for frame in ImageSequence.Iterator(im)]

 # write GIF animation
 fp = open("out.gif", "wb")
 gifmaker.makedelta(fp, frames)
 fp.close()

如果您能提供实际的代码,就有可能对您的问题提供更详细的答案。:)

另一种可能性是使用这个库,它可以与matplolib、altair和plotly一起使用,而且非常简单。在这种情况下,将不使用plotly动画。相反,您定义了一个函数,该函数返回一个绘图图,并构造一个图列表作为参数传递给gif

您的代码如下所示:

import random
import plotly.graph_objects as go
import pandas as pd
import gif

# Pandas DataFrame with random data
df = pd.DataFrame({
    't': list(range(10)) * 10,
    'x': [random.randint(0, 100) for _ in range(100)],
    'y': [random.randint(0, 100) for _ in range(100)]
})

# Gif function definition
@gif.frame
def plot(i):
    d = df[df['t'] == i]
    fig = go.Figure()
    fig.add_trace(go.Scatter(
        x=d["x"],
        y=d["y"],
        mode="markers"
    ))
    fig.update_layout(width=500, height=300)
    return fig

# Construct list of frames
frames = []
for i in range(10):
    frame = plot(i)
    frames.append(frame)

# Save gif from frames with a specific duration for each frame in ms
gif.save(frames, 'example.gif', duration=100)

我的回答解决了你的问题吗?如果有,请接受并投票:干杯