Матрица рассеяния для данных 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