Adjusting Axis in Matplotlib

2019-08-12 05:03发布

问题:

When creating my graph using Matplotlib, I have coded it to automatically size the axis as follows:

plt.axis([(int(yearofreleaselist[oldestfilm])-1), (int(yearofreleaselist[0]))+1, 0, (max(profits))+50000000])

However, dealing with large figures, the profits only displays a single digit with various shorthand references, as seen on this example graph:

The year of release also doesn't plot correctly, but some results are displayed properly, as seen here:

I'm wondering how to fix this so the numbers are displayed correctly all the time.

回答1:

You can disable the offset (see documentation)

import numpy as np
import pylab as pl

years = np.arange(2011,2016,1)
profit = np.random.random(years.size)

pl.figure()
ax=pl.subplot(121)
pl.scatter(years, profit)
ax=pl.subplot(122)
pl.scatter(years, profit)
ax.get_xaxis().get_major_formatter().set_useOffset(False)

Or, to set it for all figures/axes:

import matplotlib as mpl
mpl.rcParams['axes.formatter.useoffset'] = False