Я хочу создать тик-метки в Боке, которые отформатированы в несколько строк.
Форматирование таким образом в обычном Python тривиально, например
'{} \n{}'.format('Category', 'Percentage')
напечатает
Category
Percentage
В моем коде я делаю это для создания данных графика:
ds = OrderedDict(sorted(subdict.items(), key=lambda v: v[1], reverse=True))
ks = [i+', {:}% '.format(str(round(j/sum(ds.values())*100, None))) for i, j in ds.items()]
data = {'kz': ks, 'vals':list(ds.values())}
source = ColumnDataSource(data=data)
Если я вставлю новую строку в оператор format () в приведенном выше коде (например, ', \n {:}%'
), боке проигнорирует его.
bokeh.models.PrintfTickFormatter , похоже, не предлагает аргумента новой строки,
и
bokeh.models.CategoricalTickFormatter буквально ничего не делает (метод 'pass') *
Спрятан в документации боке
(https://bokeh.pydata.org/en/latest/docs/reference/models/formatters.html)
(для DatetimeTickFormatter) - это утверждение:
* *% Тысяча тридцать один п
Символ новой строки. Текст Bokeh в настоящее время не поддерживает символы новой строки.
Я могу только предположить, что это относится ко всему и любому тексту в боке.
Может ли кто-нибудь подтвердить, исправить или предложить обходной путь?
nb. В моем случае диаграмма экспортируется только в формате png.