2017-05-22 6 views
0

.csvファイルの文字列を保持する列に基づいて色分けしてプロットをグループ化したいと思います。 私は「color = 'ColumnName'」という印象を受けました。ColumnDataSourceデータをBokehのグリフでグループ化することができません。

p.rect(x = range(len(source.data['Project Description'])), 
    y = adj_h, 
    color= 'Client', 
    source = source, 
    width = .4, 
    height = 'Budget'  
) 

これはちょうど私の矩形グリフが黒い輪郭で表示され、塗りつぶしがありません。

+0

ようこそ。この[how-to-ask](http://stackoverflow.com/help/how-to-ask)を読んでそこのガイドラインに従って、問題を記述して再現するのに十分な情報で質問を改善してください。 – thewaywewere

答えて

0

Bokehの色は、カラーマッピングスキームを使用してプロットされます。まず、Bokehがどのオブジェクトにどの色を使用するかを知るためのカラーマップを設定する必要があります。カラーマップを手動で設定するには、colormap = {'Client_1':'red', Client_2:'blue'}辞書を使用するか、組み込みのCategoricalColorMapper関数を使用してカラーマップcolormap = CategoricalColorMapper(palette=palette, factors=list_of_factors)を作成することができます。

次に、プロット関数で色を指定できます。すべてのデータポイントcolors = [colormap[x] for x in source['Client']]のすべての色を含むリストを使用して、プロットcolor=colorsに色を渡すことができます。それとも、ボケ味は、コード内で直接プロット機能で


とあなたのための変換を行う、私はパレットが数に応じて選択される

colormap = CategoricalColorMapper(palette=palette, factors=list(set(data['Client']))) 

p.rect(x = range(len(source.data['Project Description'])), 
    y = adj_h, 
    color = {'field': 'Client', 'transform': colormap}', 
    source = source, 
    width = .4, 
    height = 'Budget'  
) 

のようなものを試してみましょうことができますのカテゴリーとデータは元のデータセットです。


参照:

iris.py - 手動データセット内の各項目に色を設定し、プロットの色のリストを使用して、上の例。

texas.py - パレットとカラーマッパーを使用し、プロット関数が'transform'で色を設定する例です。

+0

これはうまくいきました。答えは – Jamm6

+0

でした。@ Jamm6のお手伝いをして、Stack Overflowへようこそ。この回答または他の誰かがあなたの問題を解決した場合は、それを合格とマークしてください。 – DuCorey

関連する問題