2017-09-27 1 views
0

나는 periodic_callback을 망치고 있으며 오류가 계속 발생합니다. 그러나, 나는 왜 그런지 이해하지 못합니까? 주요 기능은한다 -주기적 콜백을 사용할 때 Bokeh 오류가 발생했습니다.

내가 코드 아래에 첨부했습니다 모든 코드는

어떤 상황이 ... 최대한 빨리 오류가 발생합니다 보케 서버를 사용하여 업데이트 기능을 추가로 분리되어 작동 API는 Google Analytics를 호출하고 일일 활성 사용자 (시간 및 숫자)를 가져옵니다. 이것은 Bokeh 기능 외부에서 올바르게 작동합니다. 그런 다음이 데이터를 데이터 프레임에 입력하고 몇 가지 작업을 수행하여 플로팅에 적합한 형식으로 데이터를 배치합니다. Bokeh 스트림 함수는 현재 열 데이터 소스를 업데이트하는 데 사용됩니다. 나는 다음과 같은 오류 얻을 기능을 실행할 때

불행하게도 :

Error thrown from periodic callback: AttributeError("'ColumnDataSource' object has no attribute 'keys'",) 

을 나는 이것이 심지어 내가 파일이나 디렉토리에 액세스하려고하지있을 때 무엇을 의미하는지 모르겠어요?

기능 : 미리

def update(): 

    t = main() 
    DAU = pd.DataFrame(t['rows'], columns=['Date', 'Vol']) 
    DAU['Date'] = pd.to_datetime(DAU['Date']) 
    DAU['Vol'] = DAU.Vol.astype(int) 

    new = ColumnDataSource(DAU) 

source.stream(new) 

source = ColumnDataSource({'Date': [], 'Vol': []}) 

p1 = figure(toolbar_location=None, x_axis_type='datetime') 
p1.border_fill_color = 'black' 
p1.background_fill_color = 'black' 
p1.outline_line_color = None 
p1.grid.grid_line_color = None 

r1 = p1.line('Date', 'Vol', color="navy", line_width=4, source=source) 

curdoc().add_periodic_callback(update, 50) 

curdoc().add_root(p1) 

감사합니다!

답변

0

stream 방법 takes a dict as argument 있으며, 따라서 당신의 ColumnDataSource 개체 오류에 dictkeys() 방법을 찾고.

관련 문제