【python画图_变量相关性(heatmap、pairplot)】

在进行数据分析的时候,图形可以帮助我们更直观的了解数据形态,那么常用的都有哪些图形呢?这些图形要怎么绘制?今天我们就先学习一下如何绘制图形,可以更直观的表示两个变量之间的相关性。

1、热力图heatmap

import numpy as np
import pandas as pd
from pandas import DataFrame as df
from sklearn.datasets import load_boston
from matplotlib import pyplot as plt
import seaborn as sns
​
## 提取数据
data = df(load_boston().data, columns=load_boston().feature_names)
data['target'] =  load_boston().target
​
## 描述两变量相关性
coeff = data.iloc[:,:-1].corr() # 相关性
sns.heatmap(coeff)

在这里插入图片描述
heatmap 常用参数理解

  • vmin、vmax
# vmin=None, vmax=None:用于锚定色彩映射的值,否则它们是从数据和其他关键字参数推断出来的
sns.heatmap(coeff, vmin=-1, vmax=1)

在这里插入图片描述

  • cmap
# cmap=None:颜色的选择,后面带“_r”的颜色倒置:Accent, Accent_r, Blues, Blues_r, BrBG, BrBG_r, BuGn, BuGn_r, BuPu, BuPu_r, CMRmap, CMRmap_r, Dark2, Dark2_r, GnBu, GnBu_r, Greens, Greens_r, Greys, Greys_r, OrRd, OrRd_r, Oranges, Oranges_r, PRGn, PRGn_r, Paired, Paired_r, Pastel1, Pastel1_r, Pastel2, Pastel2_r, PiYG, PiYG_r, PuBu, PuBuGn, PuBuGn_r, PuBu_r, PuOr, PuOr_r, PuRd, PuRd_r, Purples, Purples_r, RdBu, RdBu_r, RdGy, RdGy_r, RdPu, RdPu_r, RdYlBu, RdYlBu_r, RdYlGn, RdYlGn_r, Reds, Reds_r, Set1, Set1_r, Set2, Set2_r, Set3, Set3_r, Spectral, Spectral_r, Wistia, Wistia_r, YlGn, YlGnBu, YlGnBu_r, YlGn_r, YlOrBr, YlOrBr_r, YlOrRd, YlOrRd_r
sns.heatmap(coeff, cmap='YlGnBu')

在这里插入图片描述

  • center
# center=None:可以调整图像颜色的深浅
sns.heatmap(coeff, cmap='YlGnBu', center=0.5)

在这里插入图片描述

  • linewidths
# linewidths=0:单元格间宽度
sns.heatmap(coeff, cmap='YlGnBu', linewidths=3)

在这里插入图片描述

  • linecolor
# linecolor='white':单元格间的颜色
sns.heatmap(coeff, cmap='YlGnBu', linewidths=3, linecolor='black')

在这里插入图片描述

  • cbar
# cbar=True:是否绘制颜色条
sns.heatmap(coeff, cmap='YlGnBu', cbar=False)

在这里插入图片描述

  • square
# square=False:True:每个单元格为方形
sns.heatmap(coeff, cmap='YlGnBu', square=True)

在这里插入图片描述

  • annot
# annot=None:单元格内写入值 
sns.heatmap(coeff, cmap='YlGnBu', annot=True)

在这里插入图片描述

  • annot_kws
#annot_kws=None:单元格内写入值的设置
sns.heatmap(coeff, cmap='YlGnBu', annot=True, annot_kws={'size':5,'weight':'bold', 'color':'white'})

在这里插入图片描述

  • fmt
# fmt='.2g',设置字符格式
sns.heatmap(coeff, cmap='YlGnBu', annot=True, annot_kws={'size':5,'weight':'bold', 'color':'white'}, fmt='.3f')

加粗样式

  • xticklabels、yticklabels
# xticklabels='auto', yticklabels='auto':设置轴名称,False:不设置,也可以为列表 
sns.heatmap(coeff, cmap='YlGnBu', xticklabels=False,yticklabels=False)

在这里插入图片描述

2、pairplot

pairplot不仅可以绘制变量X间的相关性,也可以展示每个变量X与结果Y之间的关系,下面我们就以X与Y的关系为例绘制图形。

from sklearn.datasets import load_breast_cancer
data = df(load_breast_cancer().data, columns=load_breast_cancer().feature_names)
data['target'] =  load_breast_cancer().target
# 我们这里只取后面几个字段
data1 = data.iloc[:,-5:]
sns.pairplot(data1)

在这里插入图片描述

pairplot 常用参数理解

  • hue

# hue=None:针对某一字段进行分类
sns.pairplot(data1, hue='target')

在这里插入图片描述

  • hue_order
# hue_order=None:颜色变量的顺序
sns.pairplot(data1, hue='target', hue_order=[1,0])

在这里插入图片描述

  • palette
# palette=None:设置分类字段的颜色
sns.pairplot(data1, hue='target', palette='YlGnBu')

在这里插入图片描述

  • kind
# kind='scatter':非对角线上的图形形式,共四种:scatter、kde、hist、reg
sns.pairplot(data1, hue='target', palette='YlGnBu', kind='kde')

在这里插入图片描述

sns.pairplot(data1, hue='target', palette='YlGnBu', kind='hist')

在这里插入图片描述

sns.pairplot(data1, hue='target', palette='YlGnBu', kind='reg')

在这里插入图片描述

  • diag_kind
# diag_kind='auto':对角线上的图形形式,hist、kde
sns.pairplot(data1, hue='target', palette='YlGnBu', kind='scatter', diag_kind='hist')

在这里插入图片描述

  • markers
# markers=None:散点的样式,'o','*','s','D','p','>' 
sns.pairplot(data1, hue='target', palette='YlGnBu', markers=['*','s'])

在这里插入图片描述

  • corner
# corner=False:corner=True,下三角显示图形
sns.pairplot(data1, hue='target', palette='YlGnBu', corner=True)

在这里插入图片描述

  • height、aspect
# height=2.5:每张图的高,aspect=1:宽度,相对于高, 0.5就是 高*0.5
sns.pairplot(data1, hue='target', palette='YlGnBu', height=1)

在这里插入图片描述

  • x_vars、y_vars
# x_vars=None,y_vars=None:指定x_vars和y_vars
sns.pairplot(data1, hue='target', palette='YlGnBu', x_vars=['worst concavity','worst concave points'], y_vars=['worst symmetry','worst fractal dimension'])

在这里插入图片描述

详细内容请看我公众号~
【python画图_变量相关性(heatmap、pairplot)】

  • 7
    点赞
  • 86
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值