Панель с эффектом боке - добавление текстовой метки рядом с полосой

Я пытаюсь создать многослойную панель с помощью Bokeh 0.12.4. Я могу создать столбец с помощью интерфейса диаграммы. Однако у меня возникают проблемы с добавлением метки рядом с полосой.

Более конкретно:

  1. Есть ли способ добавить метку к каждой панели с помощью bar ()? Я знаю, что у интерфейса диаграммы есть ограничения. Если нет, как мне создать столбчатую диаграмму с накоплением с помощью графического интерфейса и создать метки рядом с каждой полосой? (Я не хочу, чтобы метка была на полосе, как вы можете видеть, некоторые секции действительно маленькие, если они включены панель, весь текст будет сгруппирован вместе.)

  2. Как переместить легенду за пределы области гистограммы? Потому что в настоящее время он скрывает часть панели.

  3. Что я должен использовать для отображения значения во всплывающей подсказке? Сейчас я использую «y», но значение неправильное.

    df = pd.DataFrame(tb, columns=['Files Due', 'Files Past Due', 'Files WIP', 'No Errors', 'Errors Explained', 'Files Failed - Pending Resolution', 'date'])
    bar = Bar(df, values=blend('Files Due', 'Files Past Due', 'Files WIP', 'No Errors', 'Errors Explained', 'Files Failed - Pending Resolution', name='Number of Files', labels_name='KPI'),
          label=cat(columns='date', sort=False),
          stack=cat(columns='KPI', sort=False),
          color=color(columns='KPI', palette=['#BE4248', '#21374B', '#D7DADB', '#586473', '#E7DACB','#4A89AA'], sort=False),
          legend='top_right', tooltips=[('Status', '@KPI'),('Number of Files', '@y')], bar_width=0.2, ylabel='KPI')
    js5, div5 = components(bar)
    

Гистограмма с накоплением боке


person Susie Song    schedule 27.11.2017    source источник


Ответы (1)


bokeh.charts API устарел и удален, это полный тупик. Последние версии Bokeh предлагают все больше и больше улучшенных возможностей стабильного и поддерживаемого bokeh.plotting API. В разделе руководства пользователя Обработка категориальных данных.

Если по какой-то причине вы не можете выполнить обновление до новой версии Bokeh, я бы даже предложил найти другой инструмент для использования, а не пытаться заставить bokeh.charts работать.

Если вы можете обновить, вот полный пример составной гистограммы с инструментом наведения и легендой за пределами графика, который будет работать с боке 0.13.0:

from bokeh.io import show
from bokeh.models import Legend
from bokeh.plotting import figure

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="hover", tooltips="$name @fruits: @$name")

rs = p.vbar_stack(years, x='fruits', width=0.9, color=colors, source=data)

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

legend = Legend(items=[(fruit, [r]) for (fruit, r) in zip(fruits, rs)], location=(0, 30))
p.add_layout(legend, 'right')

show(p)

введите описание изображения здесь

person bigreddot    schedule 10.06.2018