Вставка новых строк в боке Tick Labels - PullRequest
0 голосов
/ 07 сентября 2018

Я хочу создать тик-метки в Боке, которые отформатированы в несколько строк. Форматирование таким образом в обычном 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.

...