Я использую 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?
Возможно ли это? Кроме того, есть ли инструмент, который позволил бы мне выделять отдельные точки без рисования рамки?