Plotly Dash-TypeError:“ NoneType”对象无法在回调中下标

时间:2019-08-19 16:38:40

标签: python plotly plotly-dash

我正在使用python Dash创建仪表板,并试图将六个组件(下拉和范围滑块)链接到单个图形。但是,每当尝试引用此行代码将范围滑块链接到图形时,都会遇到上述错误

columns=list(range(year_name[0], year_name[1]+1, 1))

我意识到他们说的是上面的代码行产生0或没有产生错误的值。但是我不明白怎么可能,因为列表值是通过函数中的变量year_name传递的。以下是完整的回调

def update_graph(country_name,category_name,brand_name,year_name,time_name,measure_name):
    Total1=Total[Total['Country_Name'] == country_name]
    Total2=Total1[Total1['Equipment_Category'] ==category_name]
    Total3=Total2[Total2['Manufacturer_Name'] ==brand_name]
    columns=list(range(year_name[0], year_name[1]+1, 1))

    Total4=pd.DataFrame()
    for i in Total3.columns:
        if i in columns:
            Total4[i]=Total3[i]
    x=Total4[time_name]
    y=Total4[measure_name]
    trace1=go.Bar(x=x,y=y,marker=dict(
        color='rgb(0,191,255)', # code for sky blue 0,191,255
        line=dict(
            color='rgb(8,48,107)',
            width=1.5,
        )),opacity=0.6,name='Units')
    layout=go.Layout(xaxis={'title': 'Time Frame'},
                             title= 'Shipment',
                             hovermode='closest',
                             margin={"t": 25, "l": 25, "r": 25},
                             height=225)
    return {'data':[trace1],
            'layout':[layout]}

我是否需要更改此行:

columns=list(range(year_name[0], year_name[1]+1, 1))

也许会摆脱列表功能,因为从技术上来说year_name是已经通过的列表值?

0 个答案:

没有答案