我如何在散景图的轴刻度中获得千位分隔符的空间

时间:2019-01-09 18:18:29

标签: python python-3.x bokeh

例如,使用NumeralTickFormatter(format='0,0')可以使逗号成为千位分隔符,但找不到使用空格的方法。

我也尝试使用language='fi'参数,但这似乎没有帮助,或者我使用了错误的方法。

1 个答案:

答案 0 :(得分:2)

据我所知,内置NumeralTickFormatter不支持此功能,因为基于其构建的基础第三方JavaScript库没有任何显示空格的模式。但是,Bokeh具有FuncTickFormatter,可让您提供自己的JS代码段以执行所需的任何格式:

from bokeh.models import FuncTickFormatter
from bokeh.plotting import figure, show, output_file

output_file("formatter.html")

p = figure(plot_width=500, plot_height=500)
p.circle([0, 10], [10, 1000000], size=30)

p.yaxis.formatter = FuncTickFormatter(code="""
    parts = tick.toString().split(".");
    parts[0] = parts[0].replace(/\B(?=(\d{3})+(?!\d))/g, " ");
    return parts.join(".");
""")

show(p)

结果:

enter image description here