How to move labels from bottom to top without adding "ticks" in Matplotlib?

To move labels from bottom to top without adding ticks in Matplotlib, we can use the tick_params() method to control label positioning. This is particularly useful for heatmaps where you want labels at the top for better readability.

Step-by-Step Approach

The process involves these key steps −

  • Set the figure size and adjust the padding between and around the subplots
  • Create data to visualize (we'll use a 5×5 matrix)
  • Display the data as an image using imshow() method
  • Use tick_params() method to move labels from bottom to top
  • Display the figure using show() method

Example

Here's how to move x-axis labels to the top without changing tick positions ?

import numpy as np
import matplotlib.pyplot as plt

# Set figure size and layout
plt.rcParams["figure.figsize"] = [7.50, 3.50]
plt.rcParams["figure.autolayout"] = True

# Create sample data
data = np.random.rand(5, 5)

# Display data as heatmap
plt.imshow(data, cmap="copper")

# Move labels to top without adding ticks
plt.tick_params(axis='both', which='major',
                labelsize=10, labelbottom=False,
                bottom=True, top=False, labeltop=True)

plt.show()

Understanding the Parameters

The tick_params() method accepts several important parameters ?

  • labelbottom=False − Removes labels from bottom
  • labeltop=True − Shows labels at the top
  • bottom=True − Keeps bottom tick marks
  • top=False − Removes top tick marks

Alternative Approach

You can also use the axes object for more control ?

import numpy as np
import matplotlib.pyplot as plt

# Create figure and axes
fig, ax = plt.subplots(figsize=(7.5, 3.5))

# Sample data
data = np.random.rand(5, 5)

# Create heatmap
im = ax.imshow(data, cmap="copper")

# Move x-axis labels to top
ax.xaxis.tick_top()
ax.xaxis.set_label_position('top')

plt.show()

Key Benefits

This technique is especially useful for ?

  • Heatmaps where column headers should be at the top
  • Data matrices with categorical labels
  • Scientific plots following specific formatting conventions

Conclusion

Use tick_params() with labelbottom=False and labeltop=True to move labels to the top. The xaxis.tick_top() method provides an alternative approach for the same result.

---
Updated on: 2026-03-25T22:38:27+05:30

814 Views

Kickstart Your Career

Get certified by completing the course

Get Started
Advertisements