我想在 Bokeh 中创建多行格式的刻度标签。
在常规 Python 中以这种方式格式化很简单,例如
'{} \n{}'.format('Category', 'Percentage')
将打印
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似乎没有提供换行参数,
and
bokeh.models.CategoricalTickFormatter实际上什么也没做(方法是“pass”)
隐藏在散景文档中
https://docs.bokeh.org/en/latest/docs/reference/models/formatters.html https://docs.bokeh.org/en/latest/docs/reference/models/formatters.html
for DatetimeTickFormatter
是这样的声明:
%n
换行符。 Bokeh 文本当前不支持换行符。
我只能假设这适用于散景中的所有文本。
任何人都可以确认、更正或提供解决方法吗?
注意:在我的用例中,图表仅导出为 png。