Сюжет временных рядов с использованием datashader

Моя цель состоит в том, чтобы построить данные временных рядов с помощью dashashader и сделать их интерактивными, используя bokeh или dataashader, если это возможно.

Я пытался следовать этому руководству - http://datashader.org/user_guide/3_Timeseries.html и придумал график, который показан в самом конце страницы URL.

Ниже приведен код:

n = 100000
points = 10
data = np.random.normal(0, 100, size = (n, points))
df = ds.utils.dataframe_from_multiple_sequences(np.arange(points), data)
cvs = ds.Canvas(plot_height=400, plot_width=1000)
agg = cvs.line(df, 'x', 'y', ds.count())   
img = tf.shade(agg, how='eq_hist')

Объект изображения формируется в приведенном выше коде, теперь как я могу использовать этот объект img, чтобы сделать его интерактивным графом (используя bokeh или datashader) с осями X и Y, показать детали каждой точки при наведении на графике и поставляется с возможностями увеличения и уменьшения.

Кроме того, приведенный выше кадр данных имеет несколько столбцов, но для построения графика несколько столбцов добавляются в виде строк в кадре данных, разделенных строкой NA в кадре данных (как указано в приведенном выше коде). Возможно ли, если я смогу построить столбцы разных цветов на интерактивном графике, чтобы можно было легко различить столбец на графике данных.

Пожалуйста помоги.

1 ответ

Из этого легко сделать интерактивный сюжет Bokeh, используя HoloViews:

import datashader as ds, numpy as np, holoviews as hv
from holoviews.operation.datashader import datashade

n = 100000
points = 10
data = np.random.normal(0, 100, size = (n, points))
df = ds.utils.dataframe_from_multiple_sequences(np.arange(points), data)

hv.extension("bokeh")
datashade(hv.Curve(df)).options(width=1000)

Unzoomed

Увеличенный

Для раскраски, сколько разных цветов вам нужно? Люди не могут различить 100 000 цветов, но я работаю над https://github.com/pyviz/colorcet/issues/11 чтобы получить как минимум несколько сотен различимых цветов. Если вам нужно всего несколько десятков (например, для раскраски по категориям), существующие цветовые циклы должны работать нормально. Данные каким-то образом должны сначала указывать категорию...

Другие вопросы по тегам