I am trying to fix how python plots my data.
Say
x = [0,5,9,10,15]
and
y = [0,1,2,3,4]
Then I would do:
matplotlib.pyplot.plot(x,y)
matplotlib.pyplot.show()
and the x axis' ticks are plotted in intervals of 5. Is there a way to make it show intervals of 1?
Best Answer
You could explicitly set where you want to tick marks with
plt.xticks
:For example,
(
np.arange
was used rather than Python'srange
function just in casemin(x)
andmax(x)
are floats instead of ints.)The
plt.plot
(orax.plot
) function will automatically set defaultx
andy
limits. If you wish to keep those limits, and just change the stepsize of the tick marks, then you could useax.get_xlim()
to discover what limits Matplotlib has already set.The default tick formatter should do a decent job rounding the tick values to a sensible number of significant digits. However, if you wish to have more control over the format, you can define your own formatter. For example,
Here's a runnable example: