Как добавить название на тепловую карту Seaborn?

Я хочу добавить заголовок на тепловую карту моря. Использование Pandas и блокнота iPython

код ниже,

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

person Ammar Akhtar    schedule 22.09.2015    source источник
comment
Вы пробовали plt.title()?   -  person Fabio Lamanna    schedule 22.09.2015


Ответы (3)


heatmap — это функция уровня axes, поэтому вы можете использовать только plt.title или ax.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()

введите описание изображения здесь

person areuexperienced    schedule 22.09.2015

Дать заголовок для использования тепловой карты Seaborn

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

or ax.set(title = "Enter your 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()

Вывод >>>

введите описание изображения здесь

person Rudra Mohan    schedule 08.09.2019

В качестве альтернативы sns.plt.suptitle('lalala') будет работать, если у вас есть несколько подзаголовков.

person Charlie G    schedule 31.01.2017
comment
Seaborn отказались от использования matplotlib.pyplot в своем пакете, импортируйте matplotlib.pyplot as plt и вместо этого напишите plt.suptitle('lalala') - person Charlie G; 05.03.2019