pythonmatplotlibaxisxticks

How to remove xticks from a plot


I have a semilogx plot and I would like to remove the xticks. I tried:

plt.gca().set_xticks([])
plt.xticks([])
ax.set_xticks([])

The grid disappears (ok), but small ticks (at the place of the main ticks) remain. How to remove them?


Solution

  • The plt.tick_params method is very useful for stuff like this. This code turns off major and minor ticks and removes the labels from the x-axis.

    Note that there is also ax.tick_params for matplotlib.axes.Axes objects.

    from matplotlib import pyplot as plt
    plt.plot(range(10))
    plt.tick_params(
        axis='x',          # changes apply to the x-axis
        which='both',      # both major and minor ticks are affected
        bottom=False,      # ticks along the bottom edge are off
        top=False,         # ticks along the top edge are off
        labelbottom=False) # labels along the bottom edge are off
    plt.show()
    plt.savefig('plot')
    plt.clf()
    

    enter image description here