2010-03-20 8 views
20

Tengo dos conjuntos de datos, (Ax, Ay; Bx, Por). Me gustaría trazar ambos conjuntos de datos en un diagrama de dispersión con diferentes colores, pero parece que no puedo hacer que funcione, porque parece que scatter() no funciona como plot(). ¿Es posible hacer esto?MATLAB - Trazar conjuntos de datos múltiples en un diagrama de dispersión

He intentado ...

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

Y

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

La primera forma devuelve un error. Este último solo traza los datos Bx/By.

+0

Consulte también esta pregunta: http://stackoverflow.com/questions/386712/is-there-any-way-to-silence-the-hold-function-in-matlab/386765#386765 – Jonas

Respuesta

33

Pruebe usar hold on con el segundo ejemplo.

+0

Eso hizo el truco ! Muchas gracias por la respuesta rápida y concisa. ¡Muy apreciado! – Mark

+0

Esto puede causar algunos dolores de cabeza si está tratando de combinarlo con la adición de leyendas. Ver [esta pregunta] (http://stackoverflow.com/q/33059911/478116). – 3VYZkz7t

4

Otra opción es usar gscatter. Los parámetros son diferentes, pero a veces es más útil que scatter(...); hold on; scatter(...);

5

trama (Ax, Ay, 'g'). genera un gráfico de dispersión con puntos verdes

si desea que los círculos más grandes, puede utilizar

trama (ax, Ay, 'g.', 'MarkerSize', XX) = 20% XX o lo que sea

Para hacer círculos abiertos

trama (Ax, Ay, 'ir')

Como saben, la trama se pueden encadenar, por lo que puede hacerlo una sola vez con

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

La diferencia entre la trama y la dispersión es que la dispersión le permite especificar el tamaño del marcador, pero no está pidiendo que lo haga aquí .

Cuestiones relacionadas