Python 用绘图仪制作动画

Python 用绘图仪制作动画,python,plotly,Python,Plotly,我想使用plotly库创建动画。我需要一个随机移动的点(从[0,0]),它会留下一条痕迹 在这里你可以看到我需要的视频下面的代码片段将生成一个绘图短跑应用程序,该应用程序将为一种形式的随机行走设置动画。这种行走的方式将完全取决于你基于什么样的随机数。在这里,我使用了两个累积的进程,用于X轴和Y轴。但你可以很容易地把它改成你喜欢的任何随机过程 2500次跑步后的Dash应用程序 5000次跑步后的Dash应用程序 完整代码: 欢迎来到堆栈溢出!请把你的代码压缩成一个简单的格式。我们要求MRE是

我想使用plotly库创建动画。我需要一个随机移动的点(从[0,0]),它会留下一条痕迹

在这里你可以看到我需要的视频

下面的代码片段将生成一个绘图短跑应用程序,该应用程序将为一种形式的随机行走设置动画。这种行走的方式将完全取决于你基于什么样的随机数。在这里,我使用了两个累积的进程,用于X轴和Y轴。但你可以很容易地把它改成你喜欢的任何随机过程

2500次跑步后的Dash应用程序

5000次跑步后的Dash应用程序

完整代码:
欢迎来到堆栈溢出!请把你的代码压缩成一个简单的格式。我们要求MRE是因为(a)一行接一行地阅读不相关的代码查找错误是浪费时间的,(b)通常,创建MRE的练习可以帮助您隔离和识别问题,并帮助您自己解决问题。“它不起作用”是寻求帮助的糟糕方式。什么不起作用?它怎么断的?你有错误吗?程序运行正常,但没有提供所需的输出吗?它有什么用吗?在决定询问堆栈溢出问题之前,您应该先完成这些调试任务,这样您就可以在问题中包含详细信息,让人们更容易地帮助您。@SamV欢迎来到论坛!请仔细查看一个问题以及如何提供答案。就目前情况而言,您的问题不符合大多数预期的SO标准。但既然你是新来的,而且我们在这里都很友好,我会看看是否能为你提供一个基本的plotly Dash应用程序,让你开始。@SamV我的建议对你有什么帮助?
import pandas as pd
import numpy as np
import plotly.express as px
import plotly.graph_objects as go
from jupyter_dash import JupyterDash
import dash_core_components as dcc
import dash_html_components as html
from dash.dependencies import Input, Output

# data
np.random.seed(4)
Y = np.random.randint(low=-1, high=2, size=1).tolist()
X = np.random.randint(low=-1, high=2, size=1).tolist() 
df = pd.DataFrame({'X':X, 'Y':Y}, columns = ['X', 'Y'])
df.iloc[0]=0

# plotly app
app = JupyterDash(__name__)
app.layout = html.Div([
    html.H1("Random stumble"),
            dcc.Interval(
            id='interval-component',
            interval=1*1000, # in milliseconds
          
        ),
    dcc.Graph(id='graph'),
])

# Define callback to update graph
@app.callback(
    Output('graph', 'figure'),
    [Input('interval-component', "n_intervals")]
)
def streamFig(value):
    
    global df
   
    Y = np.random.randint(low=-1, high=2, size=1).tolist()
    X = np.random.randint(low=-1, high=2, size=1).tolist()  
    df2 = pd.DataFrame({'X':X, 'Y':Y}, columns = ['X', 'Y'])
    df = df.append(df2, ignore_index=True)#.reset_index()
    df3=df.copy()
    df3=df3.cumsum()
    fig = go.Figure(data=go.Scatter(x=df3['X'], y=df3['Y']))
    fig.update_layout(title = dict(text = 'x =' + str(X) + ', y ='+str(Y) + ', len = '+str(len(df))))
    #fig.update_layout(xaxis=dict(range=[-10,10]))
    #fig.update_layout(yaxis=dict(range=[-10,10]))
    return(fig)

app.run_server(mode='external', port = 8019, dev_tools_ui=True, debug=True,
              dev_tools_hot_reload =True, threaded=False)