矩阵图即用一张图绘制多个变量之间的关系,数据挖掘中常用于初期数据探索;
本文介绍python中seaborn.pairplot(傻瓜版)和seaborn.PairGrid(更个性化版)绘制矩阵图
本文内容速览
image
image
目录
1、绘图数据准备
2、seaborn.pairplot
加上分类变量
修改调色盘
x,y轴方向选取相同子集
x,y轴方向选取不同子集
非对角线散点图加趋势线
对角线上的四个图绘制方式
只显示网格下三角图形
图形外观设置
3、seaborn.PairGrid(更灵活的绘制矩阵图)
每个子图绘制同类型的图
对角线和非对角线分别绘制不同类型图
对角线上方、对角线、对角线下方分别绘制不同类型图
其它一些参数修改
1、绘图数据准备
还是使用鸢尾花iris数据集
#导入本帖要用到的库,声明如下:
import matplotlib.pyplot as plt
import numpy as np
import pandas as pd
from pandas import Series,DataFrame
from sklearn import datasets
import seaborn as sns
#导入鸢尾花iris数据集(方法一)
#该方法更有助于理解数据集
iris=datasets.load_iris()
x, y =iris.data,iris.target
y_1 = np.array(['setosa' if i==0 else 'versicolor' if i==1 else 'virginica' for i in y])
pd_iris = pd.DataFrame(np.hstack((x, y_1.reshape(150,1))),columns=['sepal length(cm)','sepal width(cm)','petal length(cm)','petal width(cm)','class'])
#astype修改pd_iris中数据类型object为float64
pd_iris['sepal length(cm)']=pd_iris['sepal length(cm)'].astype('float64')
pd_iris['sepal width(cm)']=pd_iris['sepal width(cm)'].astype('float64')
pd_iris['petal length(cm)']=pd_iris['petal length(cm)'].astype('float64')
pd_iris['petal width(cm)']=pd_iris['petal width(cm)'].astype('float64')
#导入鸢尾花iris数据集(方法二)
#import seaborn as sns
#iris_sns = sns.