Diagrama de dispersión en MATLAB
Este tutorial discutirá la creación de un diagrama de dispersión usando la función scatter()
en MATLAB.
Cree un diagrama de dispersión usando la función scatter()
en MATLAB
La función scatter(x,y)
crea un diagrama de dispersión en la ubicación especificada por los vectores de entrada x e y. Por defecto, la función scatter()
usa marcadores circulares para trazar los datos dados. Por ejemplo, usemos la función scatter()
para crear un diagrama de dispersión de datos dados. Vea el código a continuación.
clc
x = linspace(0,2*pi,100);
y = sin(x) + rand(1,100);
scatter(x,y)
Producción:
Los datos almacenados en las variables x e y se utilizan para crear un diagrama de dispersión en la salida. Asegúrate de que la longitud de la variable x e y sea la misma. De lo contrario, MATLAB mostrará un error. Por defecto, la función scatter()
usa el valor por defecto para el tamaño y color de los círculos, pero podemos cambiar las propiedades por defecto de la función. Por ejemplo, para cambiar el tamaño de los círculos, tenemos que definir el tamaño de los círculos como un tercer argumento dentro de la función scatter()
. Por ejemplo, cambiemos el tamaño de los círculos en el gráfico anterior. Vea el código a continuación.
clc
x = linspace(0,2*pi,100);
y = sin(x) + rand(1,100);
scatter(x,y,10)
Producción:
El tamaño de los círculos en la salida anterior es diferente en comparación con el tamaño de los círculos en el diagrama de dispersión anterior. El tamaño debe ser un valor numérico positivo o un vector del mismo tamaño que los vectores de entrada x e y. Si el tamaño es un solo valor numérico positivo, al igual que en el código anterior, se aplicará a todos los círculos presentes en el diagrama de dispersión. También podemos darle a cada círculo un valor de tamaño diferente usando un vector de la misma longitud que los vectores de entrada x e y. Por ejemplo, cambiemos el tamaño de cada círculo en el diagrama de dispersión anterior. Vea el código a continuación.
clc
x = linspace(0,2*pi,100);
y = sin(x) + rand(1,100);
CSize = 1:100;
scatter(x,y,CSize)
Producción:
En la salida anterior, cada círculo tiene un tamaño diferente. También podemos alterar el color de los círculos en el diagrama de dispersión pasándolo como un cuarto argumento en la función scatter()
. Por ejemplo, cambiemos el color de los círculos en el diagrama de dispersión anterior a negro. Vea el código a continuación.
clc
x = linspace(0,2*pi,100);
y = sin(x) + rand(1,100);
CSize = 1:100;
scatter(x,y,CSize,[0 0 0])
Producción:
En el diagrama de dispersión anterior, el color de los círculos es negro, pero podemos darle cualquier color ingresando el valor RGB de ese color como un cuarto argumento en la función scatter()
. También podemos cambiar el color pasando el nombre del color como una cadena en la función scatter()
. Si definimos solo un valor de color, se aplicará a todos los círculos presentes en el diagrama de dispersión. También podemos darle a cada círculo un color diferente usando un array del mismo tamaño que los vectores de entrada x e y. La matriz puede contener valores numéricos positivos o tripletes RGB de colores. Por ejemplo, cambiemos el color de cada círculo en el diagrama de dispersión anterior. Vea el código a continuación.
clc
x = linspace(0,2*pi,100);
y = sin(x) + rand(1,100);
CSize = 1:100;
CColor = 100:-1:1;
scatter(x,y,CSize,CColor)
colorbar
Producción:
El comando colorbar
se utiliza en el código anterior para trazar una barra de color en el diagrama de dispersión. Podemos ver en la barra de color que los valores bajos pertenecen al color más frío y los valores altos pertenecen al color más caliente. Usamos un vector con valores numéricos positivos en este ejemplo, pero también podemos usar un array con valores de triplete RGB. Los círculos son huecos en los diagramas de dispersión anteriores, pero también podemos rellenarlos usando la propiedad filled
dentro de la función scatter()
. Por ejemplo, completemos los círculos presentes en el diagrama de dispersión anterior. Vea el código a continuación.
clc
x = linspace(0,2*pi,100);
y = sin(x) + rand(1,100);
CSize = 1:100;
CColor = 100:-1:1;
scatter(x,y,CSize,CColor,'filled')
colorbar
Producción:
En la salida, se rellena cada color. También podemos cambiar el símbolo del marcador en el diagrama de dispersión. Por defecto, la función scatter()
usa el círculo como marcador, pero podemos cambiarlo pasando una cadena que contenga el símbolo del marcador como d
para el diamante, p
para el pentagrama, h
para el hexagrama , etcétera. Por ejemplo, cambiemos el símbolo del marcador de círculo a pentagrama en el diagrama de dispersión anterior. Vea el código a continuación.
clc
x = linspace(0,2*pi,100);
y = sin(x) + rand(1,100);
CSize = 1:100;
CColor = 100:-1:1;
scatter(x,y,CSize,CColor,'p')
Producción:
En la salida, el símbolo del marcador se cambia a un pentagrama. También podemos alterar la transparencia del marcador usando la propiedad MarkerFaceAlpha
en la función scatter()
. Podemos cambiar el valor de transparencia de 0 a 1. Por ejemplo, cambiemos la transparencia del diagrama de dispersión anterior a 0.5. Vea el código a continuación.
clc
x = linspace(0,2*pi,100);
y = sin(x) + rand(1,100);
CSize = 1:100;
CColor = 100:-1:1;
scatter(x,y,CSize,CColor,'filled','MarkerFaceAlpha',0.5)
Producción:
En la salida, el marcador tiene el mismo borde y color de cara, pero podemos darle al marcador un color de borde y cara diferente. Para alterar el color del borde del marcador, podemos usar la propiedad MarkerEdgeColor
dentro del gráfico scatter()
. Para alterar el color de la cara del marcador, podemos usar la propiedad MarkerFaceColor
. El valor del color puede ser cualquier triplete RGB o una cadena que contenga el nombre del color. También podemos alterar el ancho de línea del borde del marcador usando la propiedad LineWidth
. Por ejemplo, cambiemos el color del borde, el color de la cara y el ancho de línea del marcador en el diagrama de dispersión anterior. Vea el código a continuación.
clc
x = linspace(0,2*pi,100);
y = sin(x) + rand(1,100);
CSize = 1:100;
scatter(x,y,CSize,'MarkerFaceColor','yellow','MarkerEdgeColor','black','LineWidth',1.5)
Producción:
En la salida, el color de la cara del marcador es amarillo y el color del borde es negro. Si queremos crear un diagrama de dispersión 3D, podemos usar la función scatter3()
. Esta función es la misma que la función scatter()
, excepto que traza los datos dados en un plano 3D. Podemos dar dos o tres vectores de entrada a la función scatter3()
. En el caso de tres entradas, el primer vector contiene las coordenadas x, el segundo contiene las coordenadas y y el tercero contiene las coordenadas z. En el caso de dos vectores de entrada, la tercera coordenada z se tomará de los índices de las dos primeras coordenadas. Por ejemplo, tracemos el diagrama de dispersión anterior en un lugar 3D usando la función scatter3()
. Vea el código a continuación.
clc
x = linspace(0,2*pi,100);
y = sin(x) + rand(1,100);
z = 1:100;
scatter3(x,y,z)
Producción:
También podemos cambiar las propiedades de la función scatter3()
de la misma forma que lo hicimos con la función scatter()
.