python bokeh plot how to format axis display

Amit picture Amit · Sep 4, 2014 · Viewed 10.5k times · Source

the y axis ticks seem to be formatting numbers like 500000000 to 5.000e+8. Is there a way to control the display so that it displays as 500000000?

using python 2.7, bokeh 0.5.2

i m trying out the timeseries example at bokeh tutorials page

The tutorial plots 'Adj Close' against 'Date' but i'm plotting with 'Volume' against 'Date'

Answer

sharon picture sharon · Mar 26, 2015

You can also use NumeralTickFormatter as used in the toy plot below. The other possible values in place of '00' are listed here.

import pandas as pd
import numpy as np
from bokeh.plotting import figure, output_file, show
from bokeh.models import NumeralTickFormatter

df = pd.DataFrame(np.random.randint(0, 90000000000, (10,1)), columns=['my_int'])
p = figure(plot_width=700, plot_height=280, y_range=[0,100000000000])
output_file("toy_plot_with_commas")

for index, record in df.iterrows():
    p.rect([index], [record['my_int']/2], 0.8, [record['my_int']], fill_color="red", line_color="black")

p.yaxis.formatter=NumeralTickFormatter(format="00")
show(p)