提问人:Usama_13 提问时间:9/6/2023 更新时间:9/6/2023 访问量:14
使用时间下拉列表更新图形数据的虚线绘图
Dash ploty updating figures data using a time dropdown
问:
我正在 Dash 中构建一个简单的仪表板,其中有两个回调函数,一个用于决定显示哪些数字的清单,另一个用于选择我从远程 postgres 服务器读取的数据的时间范围的下拉列表。 所以问题是我似乎找不到连接两个回调函数的方法,因为一个选择范围,另一个使用此数据范围来绘制数字 ** 回调 1:**
@app.callback(
Output('filtered-data', 'data'),
Input('range_selector','value'),
)
def update_range_data(selected_range,selected_values):
global df
global filtered_df
curtime = df['time'].iloc[-1]
selected_tr = curtime - timedelta(hours= selected_range)
filtered_df = df[df['time']>= selected_tr]
return filtered_df.to_json(date_format='iso', orient='split')
回调 2:
@app.callback(
Output('example-graph', 'figure'),
Input('cl' , 'value'),
State('filtered-data', 'data'),
)
def update_gauge(selected_values,filtered_data_json):
if filtered_data_json is None:
raise dash.exceptions.PreventUpdate
filtered_df = pd.read_json(filtered_data_json)
num_gauges = len(selected_values)
vertical_gap = 50
fig = go.Figure()
for i, value in enumerate(selected_values, start=1):
domain = {'x': [0, 1], 'y': [(i - 1) / num_gauges, i / num_gauges]} # Adjust the positioning as needed
gauge = go.Indicator(
mode="gauge+number",
value=df[value].iloc[0], # You may need to adjust this value based on your data
title={'text': value},
gauge={'axis': {'range': [None, 100]}, 'bar': {'color': "red"}},
domain=domain,
)
fig.add_trace(gauge)
fig.update_layout(
showlegend=False,
height=(200 + vertical_gap) * num_gauges - vertical_gap, # Adjust the height as needed
paper_bgcolor="#023e8a",
font_color="white",
)
return fig
我尝试使用状态将数据存储为缓冲区,然后从该缓冲区读取数据,但这没有奏效
答: 暂无答案
评论