web-dev-qa-db-fra.com

MATLAB - Tracer plusieurs ensembles de données sur un nuage de points

J'ai deux ensembles de données (Ax, Ay; Bx, By). Je voudrais tracer ces deux ensembles de données sur un nuage de points avec différentes couleurs, mais je n'arrive pas à le faire fonctionner, car il semble que scatter() ne fonctionne pas comme plot(). Est-il possible de faire cela?

J'ai essayé...

scatter(Ax, Ay, 'g', Bx, By, 'b')

Et

scatter(Ax, Ay, 'g')
scatter(Bx, By, 'b')

La première façon renvoie une erreur. Ce dernier trace uniquement les données Bx/By.

22
Mark

Essayez d'utiliser hold on avec le deuxième exemple.

38
Qtax

plot (ax, ay, 'g.') génère un nuage de points avec des points verts

si vous voulez de plus grands cercles, vous pouvez utiliser

plot (ax, ay, 'g.', 'MarkerSize', XX)% XX = 20 ou autre

Pour faire des cercles ouverts

intrigue (hache, ay, 'aller')

Comme vous le savez, l'intrigue peut être enchaînée, vous pouvez donc le faire d'un seul coup avec

plot (ax, ay, 'go', bx, by, 'bo')

La différence entre le tracé et la dispersion est que la dispersion vous permet de spécifier la taille du marqueur, mais vous ne demandez pas de le faire ici.

5
Marc

Une autre option consiste à utiliser gscatter. Les paramètres sont différents, mais il est parfois plus utile que scatter(...); hold on; scatter(...);

4
Michael Kopinsky