Выберите точки данных, щелкнув на диаграмме рассеяния holoviews - PullRequest
0 голосов
/ 10 апреля 2019

Я использую python3 с пандами в записной книжке Jupyter и недавно обнаружил holoviews и bokeh.

У меня большой двумерный набор данных (y и отметка времени), и я хочу выбрать отдельные точки данных из диаграммы рассеяния данных с помощью щелчка мыши или поля выбора. Координаты этих точек должны быть скопированы в список или что-то подобное.

Я попробовал интерактивный режим, используя matplotlib с событиями, но нашел его довольно неуклюжим, и половина его не работала для меня в ноутбуке.

Инструмент box_select в holoviews / bokeh отмечает выбранные точки, но откуда мне взять значения точек?

Вот пример кода:

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

# Create dataframe
inputdata = pd.DataFrame(np.random.randint(low=0, high=10, size=(5, 5)),columns=['a', 'b', 'c', 'd', 'e'])

# Plot part of the data as scatter plot
scatter = hv.Scatter(df2,'a','b')
layout = scatter
layout.opts(opts.Scatter( 
                         height=500, 
                         width=900,
                         xaxis='bottom',
                         tools=['box_select'],
                         active_tools=['box_select'],
                         line_width=1.50, color='green'))

# Get the selected points here?

Возможно ли это? Кроме того, есть ли инструмент, который позволил бы мне выделять отдельные точки без рисования рамки?

...