2017-10-30 11 views
0

나는 bokeh로 막 대형 차트를 만들고 있습니다. 이를 위해 저는 몇 가지 가치를 그룹화합니다. 값은 설문지에 대한 응답입니다 (1 ~ 7에서 매우 좋음). 때로는 아무도 "아주 좋아"라고 대답하지 않았습니다. 바 차트에서 응답이없는 사람들을 위해 빈 막대를 갖고 싶습니다. 어떻게해야합니까? x_range 매개 변수가 될 것이라고 생각했지만,이를 지정하면 플롯이 비어 있습니다.bokeh vbar의 수동 x_range 지정

df[answer] = df[answer].astype(str) 
group = df.groupby(answer) 
source = ColumnDataSource(group) 
# with x_range=group, I get a graph, but without empty bars 
p = figure(plot_height=350, x_range=[0, 7]) 
p.vbar(x=answer, top='SurveyId_count', width=0.9, source=source) 
p.y_range.start = 0 
save(p) 

가 나는 또한 x_range = (1,7) 또는 시도했지만 내가 원하는 결과를 얻을하지 않습니다 내 코드는 다음과 같습니다.

답변

0

범주 형 요소는 문자열입니다. 또한 카테고리 범위를 만들 때 명시 적으로 모든 요인을 에게 제공해야합니다. 우연의 일치로 인해 숫자의 범위와 비슷한 요소가 나타나지만 일반적으로 범주 형 요소는 실제로 임의의 이름이므로 Bokeh는 사용자가 말하지 않으면 자신이 무엇인지 알 수 없습니다. 내가 실제로 테스트에 대한 답변을 제공하기 위해 실행할 수있는 완전한 예제를 제공하지 않았으므로

, 그것은 불가능하지만, 당신은 아마 원하는 뭔가 같은 :

x_range = [str(x) for x in range(1,8)]