根据我在网上找到的一些示例代码,我试图在dash代码上的y-Achse上放置标签,但是它不起作用。
我的代码:
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
]
}
if __name__ == '__main__':
app.run_server(
)
我曾尝试添加'name'='somename'或 name ='somename',但是它虽然可以正常工作,但仍然无法正常工作。
示例:
{'y': arrayValues, 'name' = 'somename'} #Important part
我没有任何错误或其他信息,只是没有显示任何结果。
答案 0 :(得分:0)
听起来像是问题是在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
对象,该对象包含用于配置y轴的属性yaxis
。当我们将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()
要了解更多信息,请访问Plotly official documentation