Когда я строю график с помощью vbar на оси x, которая является осью даты и времени, как я могу установить ширину столбцов равной «один день»? - PullRequest
0 голосов
/ 08 мая 2018

Это, безусловно, увеличивает ширину столбцов, но было бы лучше установить для них ширину "1 день":

source = ColumnDataSource(df)
p = figure(x_axis_type="datetime", height=200, ...)
...
c.vbar('dt', top='pct_change', width=100000000, source=source)

Ответы [ 2 ]

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

В качестве аргумента ключевого слова width можно указать объект timedelta, он будет преобразован в миллисекунды.

import datetime

...

c.vbar('dt', top='pct_change', width=datetime.timedelta(days=1), source=source)

NumberSpec может принимать значения datetime, если accept_datetime не установлен на false.

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

Базовыми единицами оси дата-время являются миллисекунды с начала эпохи, поэтому, чтобы полоса имела ширину "1 день", установите ширину равной числу миллисекунд в день, т.е. 24 * 60 * 60 * 1000 = 86400000

...