在Plotly Dash上获取动画滑块的当前值可以通过回调函数实现。以下是一个简单的示例代码,展示了如何实现这一功能:
import dash
from dash import dcc, html
from dash.dependencies import Input, Output
import plotly.graph_objs as go
app = dash.Dash(__name__)
app.layout = html.Div([
dcc.Graph(id='graph-with-slider'),
dcc.Slider(
id='year-slider',
min=1950,
max=2020,
value=1950,
step=1,
marks={str(year): str(year) for year in range(1950, 2021, 10)}
),
html.Div(id='slider-output')
])
@app.callback(
Output('slider-output', 'children'),
[Input('year-slider', 'value')]
)
def display_value(value):
return f'当前年份: {value}'
@app.callback(
Output('graph-with-slider', 'figure'),
[Input('year-slider', 'value')]
)
def update_figure(selected_year):
# 这里可以根据选中的年份更新图表数据
# 示例数据
data = [
go.Scatter(
x=[1, 2, 3],
y=[4, 5, 6],
mode='markers',
marker=dict(color='blue')
)
]
layout = go.Layout(
title=f'年份 {selected_year} 的数据',
xaxis=dict(title='X轴'),
yaxis=dict(title='Y轴')
)
return go.Figure(data=data, layout=layout)
if __name__ == '__main__':
app.run_server(debug=True)
value
属性是否正确设置,并且确保回调函数能够正确处理输入值。通过上述代码和解释,你应该能够在Plotly Dash上成功获取动画滑块的当前值,并根据需要进行相应的图表更新。
领取专属 10元无门槛券
手把手带您无忧上云