Матрица рассеяния для данных Iris

Коллеги , плохо знакомые с Python, но столкнулись с проблемой сделать матрицу разброса для данных Iris без использования a lab.

Я думал, что цикл for можно использовать для построения графика разброса по одной функции на другой.

Я обозначил все функции как X. Пожалуйста, сообщите, какой беспорядок я сделал в приведенном ниже коде - я получаю "x и Y должны иметь ошибку одинакового размера". Как еще ты бы это сделал?

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

СПАСИБО

1 ответ

Решение

Наконец, после нескольких испытаний, это один из ответов, на который мне удалось разработать матрицу рассеяния с гистограммами по диагонали. Приветствуются правки, улучшающие код, в частности, как добавить легенду к диаграммам разброса? Спасибо

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
Другие вопросы по тегам