【问题标题】:Plotly-dash graph not showing valuesPlotly-dash 图不显示值
【发布时间】:2019-06-25 11:57:41
【问题描述】:

我正在尝试使用 Dash for Python 创建一些图表。我有一些包含要读取的值的文件,将值保存在列表中并使用它来创建图形。我的代码:

    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),
])
path = "/../example.csv"

with open(path,"r") as file:
    reader = csv.reader(file)
    dataCopy=[]
    for line in file: 
        dataCopy.append(line)
    arrayValues = np.array(dataCopy)
@app.callback(Output('my-graph', 'figure'), [Input('my-dropdown', 'value')])

def update_graph(selected_dropdown_value):

    return {
        'data': arrayValues }

if __name__ == '__main__':
    app.run_server(
    )

当我打印 arrayValues 我得到:

['28.687', '29.687', '24.687', '21.687', '25.687', '28.687']

但是当我检查我的图表时,它没有显示任何值。你知道我的错误是什么吗?

更新:我尝试了这条线

arrayValues = list(map(float, arrayValues))

在 cmets 中得到它作为建议后,但仍然没有可用的代码。

【问题讨论】:

    标签: python plotly-dash


    【解决方案1】:

    您需要向 Graph data 字段提供一些附加信息,

    如果您希望将 arrayValues 绘制在折线图中的 Y 轴上,下面的代码应该可以工作。

    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
    
    #hardcoding arrayValues since csv is not provided
    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),
    ])
    #path = "/../example.csv"
    
    #with open(path,"r") as file:
    #    reader = csv.reader(file)
    #    dataCopy=[]
    #    for line in file: 
    #        dataCopy.append(line)
    #    arrayValues = np.array(dataCopy)
    
    
    
    @app.callback(Output('my-graph', 'figure'), [Input('my-dropdown', 'value')])
    def update_graph(selected_dropdown_value):
    
        return {
            'data': [
                    {'y': arrayValues}
                ]
        }
    
    if __name__ == '__main__':
        app.run_server(
        )
    

    由于 Dash 使用 plotly 图形表示,您可以参考官方 plotly 文档来了解各种此类图形。

    这是文档, https://plot.ly/python/basic-charts/

    【讨论】:

      猜你喜欢
      • 2022-07-30
      • 2021-11-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-01-16
      • 2021-12-24
      • 1970-01-01
      相关资源
      最近更新 更多