2016-12-08 2 views
1

datashader 파이썬을 사용하여 그래프를 표시 할 수 없습니다입니다 : 내가 파이썬 data.py`같은 터미널을 사용하여 코드를 실행 한, 그 후는 내가 다운로드 아래의 단계를 사용하여 datasheder 설치

git clone https://github.com/bokeh/datashader.git 
cd datashader 
conda install -c bokeh --file requirements.txt 
python setup.py install 

을하지만 그래프 표시됩니다. 아무것도 보이지 않습니다.

여기에 올바른 단계를 따라했는지 확실하지 않아 누군가가 그래프를 표시 할 수 있습니까? 여기 내 코드는 다음과 같습니다.

import pandas as pd 
import numpy as np 
import xarray as xr 
import datashader as ds 
import datashader.glyphs 
import datashader.transfer_functions as tf 
from collections import OrderedDict 

np.random.seed(1) 
num=10000 

dists = {cat: pd.DataFrame(dict(x=np.random.normal(x,s,num), 
          y=np.random.normal(y,s,num), 
          val=val,cat=cat)) 
    for x,y,s,val,cat in 
    [(2,2,0.01,10,"d1"), (2,-2,0.1,20,"d2"), (-2,-2,0.5,30,"d3"), (-2,2,1.0,40,"d4"), (0,0,3,50,"d5")]} 

df = pd.concat(dists,ignore_index=True) 
df["cat"]=df["cat"].astype("category") 
df.tail() 

tf.shade(ds.Canvas().points(df,'x','y')) 
glyph = ds.glyphs.Point('x', 'y') 
canvas = ds.Canvas(plot_width=200, plot_height=200, x_range=(-8,8)y_range=(-8,8)) 
from datashader import reductions 
reduction = reductions.count() 

from datashader.core import bypixel 
agg = bypixel(df, canvas, glyph, reduction) 
agg 
canvas.points(df, 'x', 'y', agg=reductions.count()) 
tf.shade(canvas.points(df,'x','y',agg=reductions.count())) 
tf.shade(canvas.points(df,'x','y',agg=reductions.any())) 
tf.shade(canvas.points(df,'x','y',agg=reductions.mean('y'))) 
tf.shade(50-canvas.points(df,'x','y',agg=reductions.mean('val'))) 
agg = canvas.points(df, 'x', 'y') 
tf.shade(agg.where(agg>=np.percentile(agg,99))) 
tf.shade(np.sin(agg)) 
aggc = canvas.points(df, 'x', 'y', ds.count_cat('cat')) 
aggc 
tf.shade(aggc.sel(cat='d3')) 
agg_d3_d5=aggc.sel(cat=['d3', 'd5']).sum(dim='cat') 
tf.shade(agg_d3_d5) 

답변

2

코드를 시도하지는 않았지만 실제로 이미지를 표시하는 것이 없습니다. 각 shade() 호출은 메모리에 이미지를 생성하지만 여기서는 아무 것도하지 않습니다. Jupyter 노트북 환경에서 shade() 호출이 셀의 마지막 항목 인 경우 자동으로 표시되지만 일반 Python 프롬프트에는 "풍부한 디스플레이"지원이 없습니다. 따라서 디스크의 이미지 파일 (예 : utils/export_image 사용)에 저장하거나 shade()의 결과를 변수에 할당 한 다음 원하는대로 Bokeh 또는 Matplotlib 또는 다른 플롯에 전달할 수 있습니다. 그러나 당신이 그것을보고 싶다면 당신은 이미지로 무엇인가를해야합니다.

+0

thxx ... 출력을 볼 수 있습니다. –