Аккордовая диаграмма с Holoviews (много вопросов) - PullRequest
0 голосов
/ 14 марта 2019

Итак, я пытаюсь построить диаграмму аккордов, используя 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
...