Holoview と Bokeh を使用してコード チャートを作成しようとしています。ここで説明されているように、最初のステップを実行できます。まだ、グループを作成したり、色やラベルを表示したりすることはできません。まず、私のデータ *chord = * :
[['GK', 'WD ', 2],
['GK', 'C ', 1],
['GD', 'GK ', 1],
['GD', 'C ', 2],
['GD', 'WA ', 4],
['WD', 'GD ', 4],
['WD', 'C ', 1],
['WD', 'WA ', 2],
['WD', 'GA ', 1],
['C', 'GD ', 1],
['C', 'WD ', 1],
['C', 'WA ', 3],
['C', 'GA ', 2],
['C', 'GS ', 10],
['WA', 'C ', 2],
['WA', 'GA ', 9],
['WA', 'GS ', 7],
['GA', 'C ', 3],
['GA', 'WA ', 4],
['GA', 'GS ', 5],
['GS', 'C ', 6],
['GS', 'WA ', 1]]
値は [ソース、ターゲット、値] です。私が行き詰まったのは、Chord チャートがソースを自動的にグループ化しないという事実です。これは、代わりに Sankey チャートを使用すると発生します。したがって、グループとラベルを作成します。
group = [1,1,2,2,2,3,3,3,3,4,4,4,4,4,5,5,5,6,6,6,7,7]
label = ['GK','GK','GD','GD','GD','WD','WD','WD','WD','C','C','C','C','C','WA','WA','WA','GA','GA','GA','GS','GS']
index =list(np.arange(0,22)
それにもかかわらず、結果は予想とはかけ離れています。
import numpy as np
import pandas as pd
import holoviews as hv
hv.extension('bokeh')
%output size=200
chords = pd.DataFrame(chord, columns=['source','target','value'])
%opts Chord [label_index='source' color_index='target' edge_color_index='source']
%opts Chord (cmap='Category20' edge_cmap='Category20')
hv.Chord(chords)
そして、私が合格した場合
hv.Chord(chords, nodes)
このエラーが発生しました:
AttributeError: 'DataFrame' object has no attribute 'ndims'
ご協力ありがとうございました!