Hide Axis Titles in Seaborn

2019-06-15 05:12发布

问题:

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)

回答1:

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