How to move labels from bottom to top without adding "ticks"

15,138

Solution 1

Try this:

plt.tick_params(axis='both', which='major', labelsize=10, labelbottom = False, bottom=False, top = False, labeltop=True)

the parameter top=False means no ticks. :)

Solution 2

Ok finally found.

Needs a

ax.tick_params(length=0)
Share:
15,138

Related videos on Youtube

Kalanit
Author by

Kalanit

Updated on June 08, 2022

Comments

  • Kalanit
    Kalanit about 2 years

    How can I position xlabel on top of the plot using something else than "tick_top" - that adds a tick to the x label, and I don't want it.

    xlabel on the bottom with no tick: enter image description here

    code:

    import numpy as np; np.random.seed(0)
    import matplotlib.pyplot as plt
    import seaborn as sns
    sns.set()
    uniform_data = np.random.rand(10, 12)
    ax = sns.heatmap(uniform_data, vmin=0, vmax=1)
    plt.yticks(rotation=0)
    plt.show()
    

    xlabel on top but with tick: enter image description here

    code:

    import numpy as np; np.random.seed(0)
    import matplotlib.pyplot as plt
    import seaborn as sns
    sns.set()
    uniform_data = np.random.rand(10, 12)
    ax = sns.heatmap(uniform_data, vmin=0, vmax=1)
    plt.yticks(rotation=0)
    ax.xaxis.tick_top() # x axis on top
    ax.xaxis.set_label_position('top')
    plt.show()
    
    • Mad Physicist
      Mad Physicist almost 6 years
      Can you do set_label_position without tick_top?
    • Kalanit
      Kalanit almost 6 years
      I can, but then the xlabels stay on the bottom...
    • Mad Physicist
      Mad Physicist almost 6 years
      How about get rid of tick_top and use set_tick_position instead of set_label_position?
    • Mad Physicist
      Mad Physicist almost 6 years
    • Kalanit
      Kalanit almost 6 years
      No it didnt work.
  • Albert Chen
    Albert Chen almost 4 years
    FYI, it is also applied to ax.tick_params(...)