Это, безусловно, увеличивает ширину столбцов, но было бы лучше установить для них ширину "1 день":
source = ColumnDataSource(df) p = figure(x_axis_type="datetime", height=200, ...) ... c.vbar('dt', top='pct_change', width=100000000, source=source)
В качестве аргумента ключевого слова width можно указать объект timedelta, он будет преобразован в миллисекунды.
timedelta
import datetime ... c.vbar('dt', top='pct_change', width=datetime.timedelta(days=1), source=source)
NumberSpec может принимать значения datetime, если accept_datetime не установлен на false.
NumberSpec
datetime
accept_datetime
false
Базовыми единицами оси дата-время являются миллисекунды с начала эпохи, поэтому, чтобы полоса имела ширину "1 день", установите ширину равной числу миллисекунд в день, т.е. 24 * 60 * 60 * 1000 = 86400000