Линейная диаграмма будет показывать 7 строк, от тоннажа со списком 1 «Y» до тоннажа со списком 3 «N», с раскрывающимся меню для переключения только для определенных строк и возможностью отображения всех.
Однако я не могу включить все 7 вариантов выбора в раскрывающееся меню, я что-то упустил?
Загруженные необработанные данные и фрейм данных Python выглядят следующим образом:

Я применил следующий код:
Код: Выделить всё
app = dash.Dash(__name__)
app.layout = html.Div([
dcc.Dropdown(
id='category-filter',
options=[
{'label': 'All', 'value': 'All'}] + [{'label': category, 'value': category} for category in df['LIST 1'].unique()],
value='All',
style={'width': '50%'}
),
dcc.Graph(id='line-chart')
])
@app.callback(
dash.Output('line-chart', 'figure'),
[dash.Input('category-filter', 'value')]
)
def update_chart(selected_category):
filtered_df = df if selected_category == 'All' else df[df['LIST 1'] == selected_category]
figure = {
'data': [
go.Scatter(
x=filtered_df['DATE'],
y=filtered_df['TONNAGE'],
mode='lines+markers',
name=selected_category if selected_category != 'All' else 'All Categories'
)
],
'layout': go.Layout(
title='Line Chart with Dropdown Filter',
xaxis={'title': 'Date'},
yaxis={'title': 'Tonnage'}
)
}
return figure
if __name__ == '__main__':
app.run_server(debug=True)
Подробнее здесь: https://stackoverflow.com/questions/793 ... le-columns