Установите количество видимых баров на начальном графике - PullRequest
0 голосов
/ 22 января 2019

У меня есть барплот, использующий библиотеку bokeh, и я хотел бы показать только первые 5 барплотов, а затем, если я хочу увидеть остальные столбцы, мне нужно переместить ось x вправо или влево. Я изо всех сил пытаюсь найти информацию, которая позволила бы мне сделать это. Примером может быть такой:

from bokeh.plotting import figure
from bokeh.io import output_file, show
import calendar

values = [2,3,4,5,6,7,8]
days = [calendar.day_name[i-1] for i in range(1,8)]

p = figure(x_range=days,plot_height=500)
p.vbar(x=days, width=0.5, top=values, color = "#ff1200")

output_file('foo.html')
show(p)

1

и что бы я хотел это было бы примерно так:

2

и затем, если я хочу увидеть дни отдыха, я должен нажать на цифру и переместить мышь.

Есть идеи?

1 Ответ

0 голосов
/ 23 января 2019

Мне не удалось найти решение для ограничения оси x при использовании категориальных данных. Вместо этого я сделал обходной путь, при котором метки оси x переопределяются по дням недели. Это позволяет использовать x_range для ограничения оси x.

#!/usr/bin/python3
from bokeh.plotting import figure
from bokeh.io import output_file, show

values = [2,3,4,5,6,7,8]
days = [0,1,2,3,4,5,6]

p = figure(x_range=(-0.3,4.3),plot_height=500)
p.xaxis.major_label_overrides = {0:'Monday', 1:'Tuesday', 2:'Wednesday', 3:'Thursday', 4:'Friday', 5:'Saturday', 6:'Sunday'}
p.vbar(x=days, width=0.5, top=values, color = "#ff1200")

output_file('foo.html')
show(p)
...