С помощью следующего кода я могу сгенерировать гистограмму bokeh
, которая сообщает с помощью инструмента наведения мыши, какие данные представлены на каждой полосе - если вы наводите курсор мыши на левую полосу, она отображает 'alice, bob'
и справа бар вы увидите 'charlie'
.
import hvplot.pandas
from bokeh.models import HoverTool
from bokeh.plotting import show, figure, ColumnDataSource
cds = ColumnDataSource({'top': [2, 1], 'left':[0, 1], 'right':[0.9, 1.9], 'names': ['alice, bob', 'charlie']})
p = figure(tools = 'box_zoom,pan,save,reset,tap,wheel_zoom')
p.quad(top='top', bottom=0, left='left', right='right', line_color="white", source = cds)
p.add_tools(HoverTool(tooltips=[("people", "@names")]))
show(p, notebook_handle=True)
Мне интересно, как я могу создать такой график из pandas.DataFrame
?
import pandas as pd
df = pd.DataFrame({'name': ['alice', 'bob', 'charlie'],
'x': [0.5, 0.8, 1.2]})
Я знаю, как создать гистограмму боке из DataFrame , но np.histogram(df['x'])
потеряет столбец name
(даже если я установлю индекс на name
).