Разброс и агрегация по Holoviews: невозможно исследовать данные по 2 килодимам - PullRequest
0 голосов
/ 13 марта 2020

У меня есть физическая система с 10 каналами, и я записываю несколько измерений / напряжения с течением времени. С другой стороны, категории каналов (для описания различий каналов) повторяются в кадре данных.

Я хочу построить максимум каждого канала в зависимости от kdims (= категории).

Шаги для воспроизведения проблема:

import pandas as pd
import numpy as np
import holoviews as hv
hv.extension('bokeh')

# generate data
x = np.linspace(0, 10, 25)
y = {("channel" + str(i)):  (i/5 + i/5*1.01*(np.sin(x))) for i in range(1,11)}
y["x"] = x
df_measures = pd.DataFrame(y)

# category
cat = {
    "channel": ["channel1", "channel2", "channel3", "channel4", "channel5", "channel6", "channel7", "channel8", "channel9", "channel10"],
    "size" : ["big", "small", "big", "small", "big", "small", "big", "small", "big", "small"],
    "color" : ["red", "red", "red", "blue", "blue", "blue", "blue", "green", "green", "green"]
}
categories = pd.DataFrame(cat)

# tidying data : merging in on dataframe
df_melt = pd.melt(df_measures, id_vars=['x'], value_vars= ["channel1", "channel2", "channel3", "channel4", "channel5", "channel6", "channel7", "channel8", "channel9", "channel10"],
           var_name="channel"
           )
df=pd.merge(df_melt, categories, on='channel')

# annotating data (holoviews)
ds = hv.Dataset(df, ["x", "channel", "size", "color"], ['value'])

Первая попытка: ничего не происходит, нет сообщения об ошибке / предупреждения. Я делаю что-то не так с лежащим в основе Holomap?

# visualisation : scatter max 
ds.aggregate(["size", "color"], np.max).to(hv.Scatter,"color", "value").opts(size=30)

enter image description here

Вторая попытка: что-то есть заговор, но я не могу исследовать данные по обоим kdims (через легенду или дополнительный виджет)

# visualisation : scatter max 
ds.aggregate("color", np.max).to(hv.Scatter,"color", "value").opts(size=30)

enter image description here

Что я делаю неправильно?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...