Я использовал пример кода круговой диаграммы для создания этого примера. Я создал новый столбец в кадре данных, который содержит имя легенды.
from math import pi
import pandas as pd
from bokeh.io import output_file, show
from bokeh.palettes import Category20c
from bokeh.plotting import figure
from bokeh.transform import cumsum
output_file("pie.html")
x = {
'Apple': 15,
'Pear': 10,
'Orange': 13
}
data = pd.Series(x).reset_index(name='value').rename(columns={'index':'fruit'})
data['angle'] = data['value']/data['value'].sum() * 2*pi
data['color'] = Category20c[len(x)]
sep = []
for i in range(len(data.index)):
sep.append(': ')
data['legend'] = data['fruit'] + sep + data['value'].astype(str)
p = figure(plot_height=350, title="Pie Chart", toolbar_location=None,
tools="hover", tooltips="@fruit: @value", x_range=(-0.5, 1.0))
p.wedge(x=0, y=1, radius=0.4,
start_angle=cumsum('angle', include_zero=True), end_angle=cumsum('angle'),
line_color="white", fill_color='color', legend='legend', source=data)
p.axis.axis_label=None
p.axis.visible=False
p.grid.grid_line_color = None
show(p)