# Force integer axis labels on Matplotlib

The last line makes the **y-axis have integer-only labels**.
It works for Matplotlib 3.x and older versions.

```
import numpy as np
from matplotlib.pyplot import figure, show
from matplotlib.ticker import MaxNLocator
x = np.arange(0.1,10.5,0.1) # arbitrary data
ax = figure().gca()
ax.plot(x)
ax.yaxis.set_major_locator(MaxNLocator(integer=True))
show()
```

You can do the same for the x-axis as well.

## Too few ticks

Noting the Matplotlib MaxNLocator docs, you must have

at least min_n_ticks integersâ€¦found within the view limits

You can set `MaxNLocator(nbins=5,integer=True)`

or similar if the defaults arenâ€™t forcing integer ticks.

## Leave a comment