マテリアライズ CSS の CSS バージョンは利用できません

マテリアライズ CSS の CSS バージョンは利用できません

dash をインポートします
。dash.dependencies から Output 、Input をインポートし
ます。dash_core_components を dcc としてインポートします。dash_html_components を html として
インポートします。plotly 、random を
インポートします。plotly.graph_objs を go としてインポートします。collections
から deque をインポートします
。pandas_datareader.data から DataReader をインポートします
。time 、random

アプリ = dash.Dash('車両データ')

max_length = 20
回 = deque(maxlen=max_length)
oil_temps = deque(maxlen=max_length
) injection_temps = deque(maxlen=max_length)
coolant_temps = deque(maxlen=max_length)
rpms = deque(maxlen=max_length)
speeds = deque(maxlen=max_length)
throttle_pos = deque(maxlen=max_length)

data_dict = {"オイル温度":oil_temps、
"吸気温度":intake_temps、
"冷却水温度":coolant_temps、
"RPM":rpms、
"速度":speeds、
"スロットル位置":throttle_pos}

def update_obd_values(times、oil_temps、intake_temps、coolant_temps、rpms、speeds、throttle_pos):

times.append(time.time())  
if len(times) == 1:  
    #starting relevant values  
    oil_temps.append(random.randrange(180,230))  
    intake_temps.append(random.randrange(95,115))  
    coolant_temps.append(random.randrange(170,220))  
    rpms.append(random.randrange(1000,9500))  
    speeds.append(random.randrange(30,140))  
    throttle_pos.append(random.randrange(10,90))  
else:  
    for data_of_interest in [oil_temps, intake_temps, coolant_temps, rpms, speeds, throttle_pos]:  
        data_of_interest.append(data_of_interest[-1]+data_of_interest[-1]*random.uniform(-0.0001,0.0001))  

return times, oil_temps, intake_temps, coolant_temps, rpms, speeds, throttle_pos  

時間、オイル温度、吸気温度、冷却水温度、rpm、速度、スロットル位置 = update_obd_values(時間、オイル温度、吸気温度、冷却水温度、rpm、速度、スロットル位置)

app.layout = html.Div([
html.Div([
html.H2('車両データ',
style={'float': 'left',
}),
]),
dcc.Dropdown(id='vehicle-data-name',
options=[{'label': s, 'value': s}
for s in data_dict.keys()],
value=['冷却水温度','油温','吸気温度'],
multi=True
),
html.Div(children=html.Div(id='graphs'), className='row'),
dcc.Interval(
id='graph-up​​date',
interval=100),
], className="container",style={'width':'98%','margin-left':10,'margin-right':10,'max-width':50000})

@app.callback(
dash.dependencies.Output('graphs','children'),
[dash.dependencies.Input('vehicle-data-name',
'value'),dash.dependencies.Input('graph-up​​date', 'n_intervals')]
)

def update_graph(data_names, n_intervals):
graphs = []
update_obd_values(times, oil_temps, intake_temps, coolant_temps, rpms,
speeds, throttle_pos) if len(data_names)>2:
class_choice = 'col s12 m6 l4'
elif len(data_names) == 2:
class_choice = 'col s12 m6 l6'
else:
class_choice = 'col s12'

for data_name in data_names:  

    data = go.Scatter(  
        x=list(times),  
        y=list(data_dict[data_name]),  
        name='Scatter',  
        fill="tozeroy",  
        fillcolor="#6897bb"  
        )  

    graphs.append(html.Div(dcc.Graph(  
        id=data_name,  
        animate=True,  
        figure={'data': [data],'layout' : go.Layout(xaxis=dict(range=[min(times),max(times)]),  
                                                    yaxis=dict(range=[min(data_dict[data_name]),max(data_dict[data_name])]),  
                                                    margin={'l':50,'r':1,'t':45,'b':1},  
                                                    title='{}'.format(data_name))}  
        ), className=class_choice))  

return graphs  

外部css = ["https://cdnjs.cloudflare.com/ajax/libs/materialize/1.0.0/css/materialize.min.css"] は
external_css 内の css です:
app.css.append_css({"external_url": css})

external_js =
['https://cdnjs.cloudflare.com/ajax/libs/materialize/0.100.2/js/materialize.min.js'] は
external_js 内の js 用です:
app.scripts.append_script({'external_url': js})

もし名前== '主要':
app.run_server(デバッグ=True)

関連情報