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
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()
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)