J'ai une liste appelée 'samples', je charge plusieurs images dans cette liste à partir de 2 dossiers différents, disons Folder1 et Folder2. Ensuite, je convertis cette liste en un DataFrame et les trace dans un diagramme de dispersion 2D. Je veux que le diagramme de dispersion affiche tous les contenus de Folder1 comme étant de couleur rouge et tous les contenus de Folder2 soient de couleur bleue. Comment puis-je accomplir cela. Mon code est ci-dessous:Différentes couleurs pour les nuages de points basés sur l'origine des données
samples = []
Folder1 = glob.iglob('/home/..../Folder1/*.png')
Folder2 = glob.iglob('/home/..../Folder2/*.png')
for fname in Folder1:
img = misc.imread(fname)
samples.append((img[::2, ::2]/255.0).reshape(-1))
for fname in Folder2:
img = misc.imread(fname)
samples.append((img[::2, ::2]/255.0).reshape(-1))
samples = pd.DataFrame(samples)
def do_ISO(df):
from sklearn import manifold
iso = manifold.Isomap(n_neighbors=6, n_components=3)
iso.fit(df)
A = iso.transform(df)
return A
def Plot2D(T, title, x, y):
fig = plt.figure()
ax = fig.add_subplot(111)
ax.set_title(title)
ax.set_xlabel('Component: {0}'.format(x))
ax.set_ylabel('Component: {0}'.format(y))
x_size = (max(T[:,x]) - min(T[:,x])) * 0.08
y_size = (max(T[:,y]) - min(T[:,y])) * 0.08
ax.scatter(T[:,x],T[:,y], marker='.',alpha=0.7)
Plot2D(do_ISO(samples), 'ISO_Chart', 0, 1)
plt.show()
Diziet Asahi vous venez de le clouer. C'est exactement ce que je voulais. Oui, le Folder1 contient 72 éléments, alors Folder2 contient 12 éléments. Et j'ai utilisé votre technique pour les tracer en divisant le tableau et cela a fonctionné exactement comme je le voulais. Merci beaucoup et je l'apprécie vraiment. C'est vous les gars qui motivent les nouveaux et jeunes analystes de données comme moi à continuer. –