我有一个数据集,我想绘制一些图形。我创建了一个绘图图,该图可以使用回调函数正确加载,在其中可以选择需要数据的年份。数据集已正确加载,并且没有丢失或错误。但是,每当我尝试更改数据时,都不会发生任何事情。
我的数据集具有这样的列 codass Q NF CURS 240011 1 7 2010 240011 2 5 2010 240012 1 2 2011
我尝试从空白图表开始,但没有任何反应。数据很好,因为初始图正确加载,处于更新过程中。
import pandas as pd
import numpy as np
import dash
import dash_core_components as dcc
from dash.dependencies import Input, Output
import dash_html_components as html
import plotly.graph_objs as go
FaseIni = pd.read_csv('/Users/Jordi/Documents/Universitat/TFG/tfg/Spyder path/qfaseini18.csv',sep=';',encoding='utf-8')
Q=[1,2]
anys=FaseIni['CURS'].unique()
pv = FaseIni.pivot_table( index=['CODASS'], columns=['Q'], values=['NF'], fill_value=0)
trace1=go.Bar(x=pv.index, y =pv[('NF',1)],name='q1')
trace2=go.Bar(x=pv.index, y =pv[('NF',2)],name='q2')
app = dash.Dash()
app.layout = html.Div([
html.Div([
dcc.Dropdown(
id='Anys',
options= [{'label':'2010' , 'value':2010 },{'label':'2011' , 'value':2011 }],
value =2010,
)
]),
html.Div([
dcc.Graph(
id='notes',
figure={
'data':[trace1,trace2]
}
)
])
])
@app.callback(
Output('notes','figure'),
[Input('Anys','value')])
def update_graph(Anys):
pv2 = FaseIni.loc[FaseIni['CURS'] == Anys]
pv2 = pv2.pivot_table( index=['CODASS'], columns=['Q'], values=['NF'],
fill_value=0)
trace3=go.Bar(x=pv2.index, y =pv2[('Anys',1)],name='q1')
trace4=go.Bar(x=pv2.index, y =pv2[('Anys',2)],name='q2')
return {'data':[trace3,trace4]}
初始图形正确加载,只是没有更新
答案 0 :(得分:0)
前几天我遇到了这个问题。我不确定是否会解决此问题,因为我没有用于测试的CSV文件,但尝试更改为以下内容:
trace3 = go.Bar(x = pv2.index,y = pv2 [( value ,1)],name ='q1')
trace4 = go.Bar(x = pv2.index,y = pv2 [( value ,2)],name ='q2')