Iris 数据的散点矩阵

Scatter matrix for Iris data

刚接触 Python 但在不使用 lab 的情况下为鸢尾花数据 做散点矩阵的同事遇到了挑战。

我认为一个 for 循环可以用来通过一个特征在另一个特征上绘制散点图。

我已将所有功能都放在 X 中。请告知我在下面的代码中做了什么样的混乱 - 我得到了 "x and Y must be of equal size error"。你还会怎么做?

for c in X:
    plt.scatter(c,X[:,0:4] )
    plt.show 

谢谢

最终经过多次试验,这是我设法在对角线上开发带有直方图的散点矩阵的答案之一。欢迎编辑以改进代码,特别是如何将图例添加到散点图?谢谢

fig = plt.figure( figsize=(8.5,8.5))
t= 1
for i in range (0,4):
    for j in range (0,4):
        if i==j:
            fig.add_subplot(4,4,t)
            plt.hist(X[:,i])
            plt.xlabel( feature_names[i] )
       
        else:
                    fig.add_subplot(4,4,t)
                    plt.scatter(X[:, i], X[:, j],cmap=plt.cm.Paired,c=Y, s=6)
                    plt.xlabel( feature_names[i] )
                    plt.ylabel( feature_names[j] )
                 #legend(feature_names[Y])
        t=t+1