为多变量数据绘制散点阵图

介绍一下iris数据集,iris数据集是Ronald Fisher先生引入的多变量数据集
iris数据集有150个实例和4种属性列,前者由3列鸢尾属的花(山鸢花、维吉尼亚鸢尾和变色鸢尾)各50条数据组成
特征是花萼长度,花萼宽度,花瓣长度和花瓣宽度4种属性


In [1]:
from sklearn.datasets import load_iris
import numpy as np
import matplotlib.pyplot as plt
import itertools

In [2]:
# 装载iris数据集
data = load_iris()
x = data['data']
y = data['target']
col_names = data['feature_names']

In [3]:
# 绘制散点图
plt.close('all')
plt.figure(1)


Out[3]:
<matplotlib.figure.Figure at 0x7a200d0>

In [4]:
# 绘制一个3行2列的图,3和2 在下面的变量中体现
subplot_start = 321
col_numbers = range(0,4)

In [5]:
# 绘图添加便签
col_pairs = itertools.combinations(col_numbers,2)
plt.subplots_adjust(wspace = 0.5)

In [11]:
for col_pair in col_pairs:
    plt.subplot(subplot_start)
    plt.scatter(x[:,col_pair[0]],x[:,col_pair[1]],c=y)
    plt.xlabel(col_names[col_pair[0]])
    plt.ylabel(col_names[col_pair[1]])
    subplot_start +=1
    plt.show()



In [ ]: