2010-03-20 14 views
20

Ho due serie di dati, (Ax, Ay, Bx, By). Mi piacerebbe tracciare entrambi questi set di dati su un grafico a dispersione con colori diversi, ma non riesco a farlo funzionare, perché sembra che scatter() non funzioni come plot(). È possibile farlo?MATLAB - Traccia più set di dati su un grafico a dispersione

Ho provato ...

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

E

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

Il primo modo restituisce un errore. Quest'ultimo traccia solo i dati Bx/By.

+0

Vedere anche questa domanda: http://stackoverflow.com/questions/386712/is-there-any-way-to-silence-the-hold-function-in-matlab/386765#386765 – Jonas

risposta

33

Provare a utilizzare hold on con il secondo esempio.

+0

Che ha fatto il trucco ! Mille grazie per la risposta rapida e concisa. Molto apprezzato! – Mark

+0

Ciò potrebbe causare un certo mal di testa se si sta tentando di combinarlo con l'aggiunta di legende. Vedi [questa domanda] (http://stackoverflow.com/q/33059911/478116). – 3VYZkz7t

4

Un'altra opzione è utilizzare gscatter. I parametri sono diversi, ma a volte è più utile di scatter(...); hold on; scatter(...);

5

plot (ax, ay, 'g.') genera un grafico a dispersione con i puntini verdi

se si vuole cerchi più grandi, è possibile utilizzare

plot (ax, ay, 'g.', 'MarkerSize', XX)% XX = 20 o qualsiasi altra cosa

Per rendere cerchi aperti

plot (ax, ay, 'go')

Come sapete, la trama possono essere concatenati, in modo da poter fare un andare con

plot (ax, ay, 'go', BX, da, 'Bo')

la differenza tra trama e dispersione è che scatter consente di specificare la dimensione marcatore, ma non sta chiedendo di farlo qui .

Problemi correlati