구체화 CSS의 CSS 버전을 사용할 수 없습니다.

구체화 CSS의 CSS 버전을 사용할 수 없습니다.


dash.dependent에서 대시 가져오기 출력 가져오기, 입력
가져오기 dash_core_comComponents as dcc 가져오기 dash_html_comComponents as html
가져오기 플롯으로, 무작위
가져오기 플롯.graph_objs as go
from collections 가져오기 deque
from pandas_datareader.data 가져오기 DataReader
가져오기 시간, 무작위

앱 = dash.Dash('차량 데이터')

max_length = 20
회 = deque(maxlen=max_length)
oil_temps = deque(maxlen=max_length)
흡입_
온도 = deque(maxlen=max_length) 냉각수_temps = deque(maxlen=max_length)
rpms = deque(maxlen=max_length)
속도 = deque(maxlen=max_length )
throttle_pos = deque(maxlen=max_length)

data_dict = {"오일 온도":oil_temps,
"흡기 온도": intake_temps,
"냉각수 온도": coolant_temps,
"RPM":rpms,
"Speed":speeds,
"스로틀 위치":throttle_pos}

def update_obd_values(times, oil_temps, intake_temps, 냉각수_temps, rpms, 속도, 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  

회, 오일 온도, 흡기 온도, 냉각수_온도, rpms, 속도, throttle_pos = update_obd_values(회, 오일 온도, 흡기_온도, 냉각수_온도, rpms, 속도, 스로틀_pos)

app.layout = html.Div([
html.Div([
html.H2('차량 데이터',
style={'float': '왼쪽',
}),
]),
dcc.Dropdown(id='차량 데이터' -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-update',
간격=100),
], className=" 컨테이너",스타일={'너비':'98%','margin-left':10,'margin-right':10,'max-width':50000})

@app.callback(
dash.dependent.Output('graphs','children'),
[dash.dependent.Input('vehicle-data-name',
'value'),dash.dependent.Input('graph-update ', 'n_intervals')]
)

def update_graph(data_names , n_intervals):
graphs = []
update_obd_values(times, oil_temps, intake_temps, 냉각수_temps, rpms,
속도, 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  

external_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)

관련 정보