Похоже, проблема заключается в добавлении меток в y-axis
. Вы можете сделать ось, содержащую метки, установив следующие свойства.
{
'data': [
{'y': arrayValues} #Important part
],
'layout': {
'yaxis':{
'ticktext': ['label-1', 'label-2', 'label-3', 'label-4', 'label-5'],
'tickmode': 'array',
'tickvals': arrayValues
}
}
}
Итак, мы добавили объект layout
, который содержитсвойство yaxis
, которое настраивает ось Y.Когда мы установим tickmode
в array
, массив ticktext
примет список строк в качестве входных данных.У этого ticktext
должны быть соответствующие им числовые значения в виде списка, назначенного другому массиву tickvals
, просмотрите модифицированный код ниже и дайте мне знать, если это решит вашу проблему.
import dash
import dash_core_components as dcc
import dash_html_components as html
from dash.dependencies import Input, Output, State
import plotly.graph_objs as go
arrayValues = ['28.687', '29.687', '24.687', '21.687', '25.687', '28.687']
app = dash.Dash()
app.layout = html.Div([
html.H1('Title'),
dcc.Dropdown(
id='my-dropdown',
options=[
{'label': 'Fruit', 'value': 'FRUIT'}
# {'label': 'Tesla', 'value': 'TSLA'},
# {'label': 'Apple', 'value': 'AAPL'}
],
value='TEMPERATUR'
),
dcc.Slider(
min=-5,
max=10,
step=0.5,
value=-3,
),
dcc.Graph(id='my-graph', animate=True),
])
@app.callback(Output('my-graph', 'figure'), [Input('my-dropdown', 'value')])
def update_graph(selected_dropdown_value):
return {
'data': [
{'y': arrayValues} #Important part
],
'layout': {
'yaxis':{
'ticktext': ['label-1', 'label-2', 'label-3', 'label-4', 'label-5'],
'tickmode': 'array',
'tickvals': arrayValues
}
}
}
if __name__ == '__main__':
app.run_server()
Чтобы узнать большеВизит Полностью официальная документация