Боке: ширина вертикальных полос не меняется - PullRequest
0 голосов
/ 11 мая 2018

Я столкнулся с одной проблемой, я не мог найти решение.Я хотел бы изменить ширину полосы моего графика, но не имеет значения, какое число я указал в параметре WIDTH метода vbar, график остается прежним.

Участок с WIDTH = 100

enter image description here

Участок с WIDTH = 500

enter image description here

Apply Zoom не является решением.Панель выглядит как линия

enter image description here

Вот код:

from bokeh.io import show, output_file
from bokeh.plotting import figure
import pandas as pd

df = pd.read_csv('Data/moviments.txt', delimiter='\t', encoding='utf-8')

output_file("bar_basic.html")

df['DT']=pd.to_datetime(df['DT'])

p = figure(x_axis_type='datetime',
           plot_width=1230,
           plot_height=500,
           title='Moviments')

p.vbar(x=df['DT'],top=df['SUM_IN'], width=100, fill_alpha=0.8, color='green')
p.vbar(x=df['DT'],top=df['SUM_OUT'], width=100, fill_alpha=0.8, color='red')

p.xgrid.grid_line_color = None

show(p)

Это информация моегофрейм данных:

RangeIndex: 133 записи, от 0 до 132 столбцов данных (всего 5 столбцов): DT 133 ненулевое datetime64 [нс] TRANSACT_IN 133 ненулевое int64 TRANSACT_OUT
133 ненулевоеint64 SUM_IN 133 ненулевое int64 SUM_OUT
133 ненулевое int64 dtypes: datetime64ns, int64 (4)

Ответы [ 2 ]

0 голосов
/ 26 марта 2019

В этом случае вы можете манипулировать шириной vbar с атрибутом line_width

0 голосов
/ 11 мая 2018

Базовая шкала на осях даты и времени - миллисекунды с эпохи. Итак, в настоящее время вы смотрите на бары шириной 500 мес в масштабе месяцев. Вам нужно сделать бары намного шире. Например, для бара "один день" потребуется:

width=24*60*60*1000 # 86400000

В качестве альтернативы в последних версиях Bokeh вы также можете использовать datetime.timedelta, например,

width=timedelta(days=1)
...