Изменение положения на ноль после скрытия сегментов в гистограмме с накоплением боке - PullRequest
0 голосов
/ 08 июня 2019

Я хотел бы использовать функцию click_policy вертикально сложенной гистограммы в боке, чтобы скрыть / показать различные сегменты гистограммы и чтобы остальные сегменты были выровнены при y = 0 (смещено вниз к x- ось). То есть, учитывая приведенный ниже пример кода, я хотел бы нажать на 2015 в легенде, а затем он скрыл бы самый нижний сегмент и снова сдвинул оставшиеся сегменты вниз по оси x. Поэтому бары начинаются с нуля и показывают два оставшихся сегмента. Нужно ли мне добавить функцию обратного вызова для этого и как мне это сделать?

Большое спасибо!

from bokeh.core.properties import value
from bokeh.io import show, output_file
from bokeh.plotting import figure

output_file("stacked.html")

fruits = ['Apples', 'Pears', 'Nectarines', 'Plums', 'Grapes', 'Strawberries']
years = ["2015", "2016", "2017"]
colors = ["#c9d9d3", "#718dbf", "#e84d60"]

data = {'fruits' : fruits,
        '2015'   : [2, 1, 4, 3, 2, 4],
        '2016'   : [5, 3, 4, 2, 4, 6],
        '2017'   : [3, 2, 4, 4, 5, 3]}

p = figure(x_range=fruits, plot_height=250, title="Fruit Counts by Year",
           toolbar_location=None, tools="")

p.vbar_stack(years, x='fruits', width=0.9, color=colors, source=data,
             legend=[value(x) for x in years])

p.y_range.start = 0
p.x_range.range_padding = 0.1
p.xgrid.grid_line_color = None
p.axis.minor_tick_line_color = None
p.outline_line_color = None
p.legend.location = "top_left"
p.legend.orientation = "horizontal"
p.legend.click_policy = "hide"

show(p) 

1 Ответ

1 голос
/ 09 июня 2019

Начиная с Bokeh 1.2, нет ничего встроенного, чтобы поддерживать подключение интерактивной легенды "hide" к повторному вычислению накопителей для набора глифов vbar. Я также не могу придумать какие-либо хакерские или обходные решения, так как нет события, в которое можно зацепиться, когда глиф скрыт с помощью интерактивной легенды. Регулировка укладчиков также была бы несколько проблематичной, несмотря на это. Поскольку каждый последующий глиф vbar строится на всех предыдущих уровнях, all преобразования стека vbar необходимо будет соответствующим образом обновить.

В настоящее время я могу только предложить, чтобы вы отправили запрос на GitHub , чтобы лучше поддерживать такой вариант использования.

...