2017-05-12 3 views
1

Bokeh을 사용하여 과 같이 히트 맵을 만들려고합니다. 여기에 내가 열지도를파이썬 Bokeh 비어 있음 히트 맵

Day Code Total 
0 1 6001 44 
1 1 6002 40 
2 1 6006 8 
3 1 6008 2 
4 1 6010 38 
5 1 6011 1 
6 1 6014 19 
7 1 6018 1 
8 1 6019 1 
9 1 6023 10 
10 1 6028 4 
11 2 6001 17 
12 2 6010 2 
13 2 6014 4 
14 2 6020 1 
15 2 6028 2 
16 3 6001 48 
17 3 6002 24 
18 3 6003 1 
19 3 6005 1 
20 3 6006 2 
21 3 6008 18 
22 3 6010 75 
23 3 6011 1 
24 3 6014 72 
25 3 6023 34 
26 3 6028 1 
27 3 6038 3 
28 4 6001 19 
29 4 6002 105 
30 5 6001 52 
... 

를 만들기 위해 노력하고있는 내 dataframe Data입니다 그리고 여기 내 코드입니다 :

from bokeh.io import output_file 
from bokeh.io import show 
from bokeh.models import (
    ColumnDataSource, 
    HoverTool, 
    LinearColorMapper 
) 
from bokeh.plotting import figure 

output_file('SHM_Test.html', title='SHM', mode='inline') 

source = ColumnDataSource(Data) 
TOOLS = "hover,save" 

# Creating the Figure 
SHM = figure(title="HeatMap", 
     x_range=[str(i) for i in range(1,32)], 
     y_range=[str(i) for i in range(6043,6000,-1)], 
     x_axis_location="above", plot_width=400, plot_height=970, 
     tools=TOOLS, toolbar_location='right') 

# Figure Styling 
SHM.grid.grid_line_color = None 
SHM.axis.axis_line_color = None 
SHM.axis.major_tick_line_color = None 
SHM.axis.major_label_text_font_size = "5pt" 
SHM.axis.major_label_standoff = 0 
SHM.toolbar.logo = None 
SHM.title.text_alpha = 0.3 

# Color Mapping 
CM = LinearColorMapper(palette='RdPu9', low=Data.Total.min(), high=Data.Total.max()) 

SHM.rect(x='Day', y="Code", width=1, height=1,source=source, 
      fill_color={'field': 'Total','transform': CM}) 

show(SHM) 

난 내 코드를 excecute 때이 오류를 얻을하지만 난하지 않습니다 아래 그림과 같이 빈 프레임을 가져옵니다.

HeatMap

나는 왜 내가이납니다 ¿, 내 실수입니다 찾으려고 애 쓰고 있었어요? ¿ 어디에서 오류가 있습니까?

+0

로 팬더 패키지를 사용하여 수행 할 수 있으며이 –

+0

에서 오는 곳 'Data' CSV 파일에서 온다, 첫 번째 코드 섹션에 표시된 구조를가집니다. – Xhoan

답변

1

코드 문제는 x 축 및 y 축 범위에 대해 설정하는 데이터 형식과 ColumnDataSource의 데이터 형식이 다릅니다. x_rangey_range을 문자열 목록으로 설정했지만 CSV 형식의 데이터를 보면 정수로 처리됩니다.

귀하의 경우 일 및 코드 열이 문자열 형식인지 확인하십시오.

이 쉽게에서 데이터 '소스 = ColumnDataSource (데이터)'란

Data['Day'] = Data['Day'].astype('str') 
Data['Code'] = Date['Code'].astype('str')