heatmap学习笔记


#heatmap 热度图, seaborn 中常用的图,也是我最喜欢画的一种图
# 重要点思维:拿到一批数据一般会求特征之间的相关系数,可以用 padas 直接求出来相关系数,放到 heatmap ,可以很清楚的看到两个特征的相关程度,这是一个固定的数据思维
# 用途:比如拿到一批离散数据,想看一下在哪个点值比较大,在哪个点值比较低,你想把这样一个值的变化,用颜色来区分出来,这是我们要做的一个变化

import matplotlib.pyplot as plt
import numpy as np
np.random.seed( 0 )
import seaborn as sns
sns.set()
# 颜色可以由浅到深,可以由深到浅,比如股票每天的涨跌
#
# 随机生成一个 3*3 矩阵,点 heatmap 穿进去数据,调色板叫做 col_bar, 很明显的看出这堆数中的值大小
uniform_data=np.random.rand( 3 , 3 )
heatmap=sns.heatmap(uniform_data)

# 可以区间设置, vmin vmax ,大于或小于 v 的全是一个颜色,只有在这区间的才会分颜色
ax=sns.heatmap(uniform_data , vmin = 0.2 , vmax = 0.5 )

# 比如拿到的数据是权重参数,又有正负,正是涨,负是跌,定义 center=0 ,以 0 为中心画这个数据
normal_data = np.random.randn( 3 , 3 )
ax2 = sns.heatmap(normal_data , center = 0 )


# 读取航班数据集 flights seaborn 自带的, 1949 年乘机的人数 passengers
# 需要横轴表示年份,纵轴月份,点的值是大小
# 把当前的数据转换为可以用的矩阵格式,读取的 dataframe 的,然后 .pivot 一下( x y ,值) x y 直接写列名即可,直接把 dataframe 中的 year month 传进来,加一个注释项 annot=True fmt=“d” 即是在图上显示数据值, linwidth=.5 加上一个格,这个图会比较更清晰,调色板是 cmap=“YIGnBu” ,颜色, cbar=false 是隐藏,但是一般不隐藏不然不知道图例了
# 默认颜色太丑,应该设置一下常用的颜色

flights = sns.load_dataset( 'flights' )
# print(flights.head())
flights=flights.pivot( 'month' , 'year' , 'passengers' ) #pivot 函数重要
# print(flights.head())
sns.heatmap(flights) # 注意这里是直接传入数据集即可,不需要再单独传入 x y

sns.heatmap(flights , linewidth = .5 , annot = True, fmt = 'd' )

# 改变颜色
ax= sns.heatmap(flights , cbar = False, cmap = 'YlGnBu' )


你可能感兴趣的:(Python)