如何在Seaborn热力图中添加标题和坐标轴标签?

80

我想给一个seaborn热力图添加标题。使用Pandas和iPython Notebook。

下面是代码:

a1_p = a1.pivot_table( index='Postcode', columns='Property Type', values='Count', aggfunc=np.mean, fill_value=0)

sns.heatmap(a1_p, cmap="YlGnBu")

数据很简单明了:

In [179]: a1_p

Out [179]:
Property Type   Flat    Terraced house  Unknown
Postcode            
E1  11  0   0
E14 12  0   0
E1W 6   0   0
E2  6   0   0

3
你尝试过使用 plt.title() 吗? - Fabio Lamanna
4个回答

98

heatmap是一个axes级别的函数,因此您只需使用plt.titleax.set_title即可:

%matplotlib inline
import numpy as np
import os
import seaborn as sns
import matplotlib.pyplot as plt

data = np.random.randn(10,12)

ax = plt.axes()
sns.heatmap(data, ax = ax)

ax.set_title('lalala')
plt.show()

在此输入图片描述


36

使用以下代码为Seaborn热力图添加标题:

plt.title("Enter your title", fontsize =20)

或者 ax.set(title="输入你的标题")

import seaborn as sns # for data visualization
import matplotlib.pyplot as plt # for data visualization

flight = sns.load_dataset('flights') # load flights datset from GitHub seaborn repository

# reshape flights dataeset in proper format to create seaborn heatmap
flights_df = flight.pivot('month', 'year', 'passengers') 

ax = sns.heatmap(flights_df) # create seaborn heatmap


plt.title('Heatmap of Flighr Dataset', fontsize = 20) # title with fontsize 20
plt.xlabel('Years', fontsize = 15) # x-axis label with fontsize 15
plt.ylabel('Monthes', fontsize = 15) # y-axis label with fontsize 15

plt.show()

输出 >>>

输入图像描述


8

如果你有多个子图,sns.plt.suptitle('lalala') 也是可行的替代方法。


2
Seaborn在其软件包中取消了对matplotlib.pyplot的支持,请使用import matplotlib.pyplot as plt并改为使用plt.suptitle('lalala') - Charlie G

0
你可以直接使用来自matplotlib.pyplot库的相同的xlabel、ylabel和title。
import matplotlib.pyplot as plt
import seaborn as sn

sn.heatmap(cm, annot=True, fmt="d")
plt.xlabel("Enter the X axis")
plt.ylabel("Enter the Y axis")
plt.title("Enter the Title")
plt.show()

注意:如果你需要更大的字体,请在所有地方使用fontsize。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接