Python hide ticks but show tick labels

I can remove the ticks with

    ax.set_xticks([]) 
    ax.set_yticks([])

but this removes the labels as well. Any way I can plot the tick labels but not the ticks and the spine

You can set the tick length to 0 using tick_params (http://matplotlib.org/api/axes_api.html#matplotlib.axes.Axes.tick_params):

    fig = plt.figure()
    ax = fig.add_subplot(111)
    ax.plot([1],[1])
    ax.tick_params(axis=u'both', which=u'both',length=0)
    plt.show()

From: stackoverflow.com/q/29988241