How to hide ticks label in python but keep the ticks in place? How to hide ticks label in python but keep the ticks in place? python python

How to hide ticks label in python but keep the ticks in place?


Here is a slightly simpler answer, using ax.tick_params

import matplotlib.pylab as pltfig, ax = plt.subplots()plt.plot([1,2,3],[4,5,6])ax.tick_params(labelbottom=False)    plt.show()

Here is the resulting output in Matplotlib 3

enter image description here

As commented by @chris, one can similarly hide the labels on any of the other axes using labeltop, labelleft, labelright, in the above example, instead of labelbottom.


Set the tick labels not to be an empty array, but to be a list of empty strings. In the example below, I've replaced the xtick labels with empty strings, leaving the y axis untouched. From here you can selectively keep certain labels if you wished.

import pylab as pltfig, ax = plt.subplots()ax.plot([1,2,3],[4,5,6])labels = [item.get_text() for item in ax.get_xticklabels()]empty_string_labels = ['']*len(labels)ax.set_xticklabels(empty_string_labels)plt.show()

enter image description here

This code is adapted from a previous answer.


I didn't find divenex's answer to work for me. This answer creates ticks without triggering any automatic labeling, hence no requirement to use "labelbottom= False":

if the bottom and left ticks already exist:

import matplotlib.pyplot as pltfig, ax = plt.subplots()plt.plot([1,2,3],[4,5,6])ax.tick_params(right= True,top= True)

if no ticks already exist:

import matplotlib.pyplot as pltfig, ax = plt.subplots()plt.plot([1,2,3],[4,5,6])ax.tick_params(right= True,top= True,left= True, bottom= True)