У меня есть сложенная диаграмма vbar в Bokeh, упрощенная версия которой может быть воспроизведена с помощью:
from bokeh.plotting import figure
from bokeh.io import show
months = ['JAN', 'FEB', 'MAR']
categories = ["cat1", "cat2", "cat3"]
data = {"month" : months,
"cat1" : [1, 4, 12],
"cat2" : [2, 5, 3],
"cat3" : [5, 6, 1]}
colors = ["#c9d9d3", "#718dbf", "#e84d60"]
p = figure(x_range=months, plot_height=250, title="Categories by month",
toolbar_location=None)
p.vbar_stack(categories, x='month', width=0.9, color=colors, source=data)
show(p)
Я хочу добавить легенду к диаграмме, но моя настоящая диаграмма имеет много категорий в стопках, и поэтому легенда будет очень большой, поэтому я хочу, чтобы она находилась вне области графика справа.
Здесь есть SO-ответ здесь , который объясняет, как добавить легенду вне области графика, но в приведенном примере каждому отображаемому глифу присваивается переменная, которая затем помечается и добавляется к Legend
объект. Я понимаю, как это сделать, но я полагаю, что метод vbar_stack
создает многократные глифы за один вызов, поэтому я не знаю, как их пометить и добавить в отдельный объект Legend
для размещения вне области диаграммы?
В качестве альтернативы, есть ли более простой способ использовать аргумент legend
при вызове vbar_stack
и затем найти легенду за пределами области диаграммы?
Любая помощь высоко ценится.