使用Bokeh禁用轴上的科学记数法

时间:2014-07-02 15:57:41

标签: python plot bokeh

如何禁用散景中轴上的数字科学输出? 例如,我想要400000而不是4.00e + 5

在mpl:ax.get_xaxis().get_major_formatter().set_scientific(False)

4 个答案:

答案 0 :(得分:15)

您可以使用以下方法禁用科学记数法:

fig = plt.figure(title='xxx', x_axis_type='datetime')
fig.left[0].formatter.use_scientific = False

答案 1 :(得分:4)

请注意,自Bokeh v0.9.1起,由于Charts的界面发生变化,Marek的答案将不再有效。以下代码(from GitHub)是如何在高级图表中关闭科学记数法的全功能示例。

from bokeh.embed import components
from bokeh.models import Axis
from bokeh.charts import Bar
data = {"y": [6, 7, 2, 4, 5], "z": [1, 5, 12, 4, 2]}
bar = Bar(data)
yaxis = bar.select(dict(type=Axis, layout="left"))[0]
yaxis.formatter.use_scientific = False
script, div = components(bar)
print(script)
print(div)

关键是:

yaxis = bar.select(dict(type=Axis, layout="left"))[0]
yaxis.formatter.use_scientific = False

答案 2 :(得分:2)

要在散景中停用科学输出,请使用您使用的格式化程序use_scientific属性。

您可以在此处找到有关use_scientific属性的更多信息:

示例(原文来自Bokeh issues discussion):

from bokeh.models import Axis
yaxis = bar.chart.plot.select(dict(type=Axis, layout="left"))[0]
yaxis.formatter.use_scientific = False
bar.chart.show()

答案 3 :(得分:0)

我正试图从对数轴上关闭科学计数法,而以上答案对我没有用。

我发现了这个:python bokeh plot how to format axis display

本着这种精神,这对我有用:

from bokeh.models import BasicTickFormatter

fig = plt.figure(title='xxx', x_axis_type='datetime',y_axis_type='log')
fig.yaxis.formatter = BasicTickFormatter(use_scientific=False)