pythonmatplotlibaxislabel

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


I want to hide my ticks label on a plot I created, but keep this tick itself (the little marks on the axis). When I try to use what I've found here, for example, the entire tick is removed, and not just the labels. How can I remove only the labels then?


Solution

  • 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 plt
    
    fig, 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.