Отключить научное обозначение на осях с помощью боке

Как можно отключить научный вывод чисел по оси в боке? Например, я хочу 400000, а не 4.00e+5.

В мпл: ax.get_xaxis().get_major_formatter().set_scientific(False)


person quasiben    schedule 02.07.2014    source источник


Ответы (4)


Вы можете отключить научную нотацию следующим образом:

fig = plt.figure(title='xxx', x_axis_type='datetime')
fig.left[0].formatter.use_scientific = False
person korst1k    schedule 20.02.2015
comment
Приведенный выше код фактически отключает его по вертикальной оси Y. Если вы хотите отключить экспоненциальное представление на горизонтальной оси x для линейного графика, используйте: fig.below[0].formatter.use_scientific = False. - person Contango; 02.01.2019
comment
Код и мой комментарий выше работают с последней версией Bokeh от 01.01.2019 (v1.0.3). - person Contango; 02.01.2019

Обратите внимание, что начиная с Bokeh v0.9.1 ответ Марека больше не будет работать из-за изменений в интерфейсе для Charts. Следующий код (из 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
person Josh Sherick    schedule 27.07.2015

Чтобы отключить научный вывод в Боке, используйте атрибут use_scientific используемого вами formatter.

Вы можете найти больше информации об атрибуте use_scientific здесь:

Пример (изначально взят из обсуждения проблем с боке):

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

Я пытался отключить научную запись от логарифмической оси, и приведенные выше ответы не сработали для меня.

Я нашел это: график python bokeh, как форматировать отображение оси

В этом духе это сработало для меня:

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)

person rahulv88    schedule 21.03.2019