Remove the x-axis ticks while keeping the grids (matplotlib) [duplicate]

By removing the ticks, do you mean remove the tick labels or the ticks themselves? This will remove the labels:

import matplotlib.pyplot as plt
import numpy as np

x = np.linspace(0, 2*np.pi, 100)

fig = plt.figure()
ax = fig.add_subplot(111)

ax.plot(x, np.sin(x))

ax.grid(True)
ax.set_xticklabels([])


plt.show()

If you really want to get rid of the little tick lines, you can add this:

for tic in ax.xaxis.get_major_ticks():
    tic.tick1On = tic.tick2On = False

You could turn the tick labels off here too without resorting to the ax.set_xticklabels([]) “hack” by setting tic.label1On = tic.label2On = False:

import matplotlib.pyplot as plt
import numpy as np

x = np.linspace(0, 2*np.pi, 100)

fig = plt.figure()
ax = fig.add_subplot(111)

ax.plot(x, np.sin(x))

ax.grid(True)
for tick in ax.xaxis.get_major_ticks():
    tick.tick1line.set_visible(False)
    tick.tick2line.set_visible(False)
    tick.label1.set_visible(False)
    tick.label2.set_visible(False)

plt.show()

Leave a Comment

Hata!: SQLSTATE[HY000] [1045] Access denied for user 'divattrend_liink'@'localhost' (using password: YES)