我编写了一个基本的绘图破折号应用程序,它从 csv 中提取数据并将其显示在图表上。然后,您可以在应用程序上切换值并更新图表。
但是,当我向 csv 添加新数据(每天一次)时,应用程序不会在刷新页面时更新数据。
解决方法通常是将您定义app.layout为一个函数,如此处所述(向下滚动到页面加载时的更新)。您将在下面的代码中看到我已经做到了这一点。
这是我的代码:
import dash
import dash_core_components as dcc
import dash_html_components as html
from dash.dependencies import Input, Output
import numpy as np
import pandas as pd
external_stylesheets = ['https://codepen.io/chriddyp/pen/bWLwgP.css']
app = dash.Dash(__name__, external_stylesheets=external_stylesheets)
path = 'https://raw.githubusercontent.com/tbuckworth/Public/master/CSVTest.csv'
df = pd.read_csv(path)
df2 = df[(df.Map==df.Map)]
def layout_function():
df = pd.read_csv(path)
df2 = df[(df.Map==df.Map)]
available_strats = np.append('ALL',pd.unique(df2.Map.sort_values()))
classes1 = pd.unique(df2["class"].sort_values())
metrics1 = pd.unique(df2.metric.sort_values())
return html.Div([
html.Div([
dcc.Dropdown(
id="Strategy",
options=[{"label":i,"value":i} for i in available_strats],
value=list(available_strats[0:1]),
multi=True …Run Code Online (Sandbox Code Playgroud)