#####成对分析图###特征少时用特征分析图
#第一部分:导入绘图库
import numpy as np
import importlib as mpl
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
%matplotlib inline
###################预设的一些参数每次绘图可能需要的参数设置##################
large=23; small=12; med=16
params ={'axes.titlesize':large,#子图上标题的大小
'legend.fontsize':med,#图例的字体的大小
'figure.figsize':(16,10),#图像的画布的大小
'axes.labelsize':med, #标签的字体的大小
'xtick.labelsize':med,#x轴上标尺的字体的大小
'ytick.labelsize':med,#y轴上标尺的字体的大小
'figure.titlesize':large #整个画布的标题字体的大小
}
plt.rcParams.update(params)#设置各种各样的属性
plt.style.use('seaborn-whitegrid')
sns.set_style("darkgrid") #s设立风格
%matplotlib inline
#第二不部分导入绘图库
url = 'https://www.gairuo.com/file/data/dataset/iris.data'##在线读取
df = pd.read_csv(url)
df.head()
df.columns =['花萼长','花萼宽','花瓣长','花瓣宽 ','species']
df.head()
重要的参数:
hue:类别所在的列(和带拟合线的散点图是一致的),取出数据集的子集对其进行分类,本质‘hue’是色调的颜色,对这个参数输入不同的类别,可以让其显示不同的颜色
kind:绘制相关图的类别,可以选择‘scatter’散点图或者‘reg’带拟合线的散点图
#绘制图像
plt.figure(figsize=(10,8),dpi=80)
plt.rcParams['font.sans-serif']=['Simhei']#中文能够显示
sns.pairplot(df #数据,各个特征和标签
,kind ='scatter'#要绘制的图像类别
,hue ='species'
,plot_kws=dict(s=40,edgecolor='white',linewidth=1)#散点图的一些详细设置
);
##带拟合线的散点图(意义不太用)
sns.pairplot(df #数据,各个特征和标签
,kind ='reg'#要绘制的图像类别
,hue ='species'
#,plot_kws=dict(s=40,edgecolor='white',linewidth=1)#散点图的一些详细设置
);
#什么时候用相关性矩阵,什么时候用成对分析图呢?
当我们希望探索不同分类下的的特征之间的相关性的时候,用成对分析图
当特征很多的时候,使用相关性矩阵,当特征很少时,用成对分析图
在意特征本身的分布时,使用成对分析图
当数据量较少时,使用成对分析图