# formatting axis to percent notation

I'm new to matplotlib. Currently the x-axis shows numbers from 0 to 1.
I would like it to show it in percent notation (e.g. 0% to 100%).
How do I do this in matplotlib?

Thanks,

Kevin

···

____________________________________________________________________________________
Be a better friend, newshound, and
know-it-all with Yahoo! Mobile. Try it now. http://mobile.yahoo.com/;_ylt=Ahu06i62sR8HDtDypao8Wcj9tAcJ

I'm new to matplotlib. Currently the x-axis shows numbers from 0 to 1.
I would like it to show it in percent notation (e.g. 0% to 100%).
How do I do this in matplotlib?

You can either multiply your x data by 100 (where x is a numpy array)

plot(x*100, y)

or set a custom formatter

from matplotlib.ticker import FuncFormatter

def myfunc(x, pos=0):
return '%1.2f''%(100*x)

ax = subplot(111)
ax.plot(x, y)
ax.xaxis.set_major_formatter(FuncFormatter(myfunc))

There is a section on custom tick formatting in the user's guide on the web site

JDH

JDH

···

On Jan 16, 2008 1:03 PM, Kevin Christman <kchristman54@...9...> wrote:

John Hunter wrote:

def myfunc(x, pos=0):
return '%1.2f''%(100*x)

And you may want to try:

def myfunc(x, pos=0):
return '%1.2f%%''%(100*x)

to get a percent sign after each value. (I mention it only because the "double percent" trick is non-obvious to many newcomers to Python's string formatting syntax.)

Cheers,
Mike

···

On Jan 16, 2008 1:03 PM, Kevin Christman <kchristman54@...9...> wrote:

--
Michael Droettboom
Science Software Branch
Operations and Engineering Division
Space Telescope Science Institute
Operated by AURA for NASA