pythonpython-3.xplotseabornaxis-labels

Hide Axis Titles in Seaborn


Given the following heatmap, how would I remove the axis titles ('month' and 'year')?

import seaborn as sns

# Load the example flights dataset and conver to long-form
flights_long = sns.load_dataset("flights")
flights = flights_long.pivot("month", "year", "passengers")

# Draw a heatmap with the numeric values in each cell
sns.heatmap(flights, annot=True, fmt="d", linewidths=.5)

current graph


Solution

  • Before calling sns.heatmap, get the axes using plt.subplots, then use set_xlabel and set_ylabel. For example:

    import seaborn as sns
    import matplotlib.pyplot as plt
    
    # Load the example flights dataset and conver to long-form
    flights_long = sns.load_dataset("flights")
    flights = flights_long.pivot("month", "year", "passengers")
    
    # ADDED: Extract axes.
    fig, ax = plt.subplots(1, 1, figsize = (15, 15), dpi=300)
    
    # Draw a heatmap with the numeric values in each cell
    sns.heatmap(flights, annot=True, fmt="d", linewidths=.5)
    
    # ADDED: Remove labels.
    ax.set_ylabel('')    
    ax.set_xlabel('')
    

    New graph