Итак, я пытаюсь построить диаграмму аккордов, используя holoviews и bokeh, и сталкиваюсь с некоторыми проблемами. Я нашел несколько постов, которые были в некоторой степени связаны, но не сильно мне помогли. По сути, мне нужна помощь в устранении ошибки в конце, чтобы я мог видеть, как новая диаграмма аккордов с метками и окраской (chord.opts).
По сути, у меня есть список имен (и их соответствующих подразделений) и людей, с которыми они были связаны в программе. Я хочу визуализировать связи, которые каждый человек имел с диаграммой аккордов.
ПОЛНОЕ РАСКРЫТИЕ ИНФОРМАЦИИ: приведенный ниже код может быть совершенно неверным ... но это то, что я придумал после просмотра примера.
import holoviews as hv
from holoviews import opts, dim
import pandas as pd
import numpy as np
from bokeh.plotting import figure, output_file, show
from bokeh.io import output_notebook
output_notebook()
hv.extension('bokeh')
hv.output(size=200)
book1 = "../desktop/book3.xls"
pairs = pd.read_excel (book1)
pair_counts = pairs.groupby(['id1', 'id2']).name2.count().reset_index()
pair_counts выглядит так:
pair_counts
test = hv.Chord(pair_counts)
hv.save(test,'test.png')
Выводит следующее изображение.
test.png
nodes = hv.Dataset(pairs, 'id1', 'bu1')
nodes.data.head()
test2 = hv.Chord((test, nodes)).select(value=(5, None))
После этой строки я получаю следующую ошибку:
DataError: None of the available storage backends were able to support the supplied data format.
продолжается ...
test2.opts(
opts.Chord(cmap='Category20', edge_cmap='Category20', edge_color=dim('bu2').str(),
labels='bu1', node_color=dim('bu1').str()))
hv.save(test2,'test2.png')
Вот как выглядят данные Excel:
данные Excel
А вот dtypes для данных excel в df 'pair':
pairs.dtypes
id1 int64
name1 object
dept1 object
bu1 object
id2 int64
name2 object
dept2 object
bu2 object
dtype: object