У меня есть палитра:
chart_colors = ['#44e5e2', '#e29e44', '#e244db',
'#d8e244', '#eeeeee', '#56e244', '#007bff', 'black']
И круговая диаграмма, сгенерированная Bokeh.
x = Counter({
'Submitted': 179,
'Approved': 90,
'Denied': 80
})
data = pd.DataFrame.from_dict(dict(x), orient='index').reset_index().rename(
index=str, columns={0: 'value', 'index': 'claimNumber'})
data['angle'] = data['value']/sum(x.values()) * 2*pi
data['color'] = Category20c[len(x)]
p = figure(plot_height=200,
tooltips="@claimNumber: @value",
name='claimChart')
p.wedge(x=0, y=1, radius=0.28,
start_angle=cumsum('angle', include_zero=True), end_angle=cumsum('angle'),
line_color="white", fill_color='color', legend='claimNumber', source=data)
curdoc().add_root(p)
Теперь fill_color = 'color' и цвет определяется как 'data ['color'] = Category20c [len (x)] '.
В более старых версиях возможно предоставить' color '(p.wedge (..., color = ...), но я использую Bokeh0.13.0, поэтому у меня есть только fill_color = 'color' для каждого цвета.
Как я могу изменить data ['color'] на цвет из моего массива 'chart_colors'?