Main Content

gscatter

Gráfica de dispersión por grupo

Descripción

ejemplo

gscatter(x,y,g) crea una gráfica de dispersión de x e y, agrupada por g. Los datos de entrada x e y son vectores del mismo tamaño.

ejemplo

gscatter(x,y,g,clr,sym,siz) indica el color del marcador clr, el símbolo sym y el tamaño siz de cada grupo.

gscatter(x,y,g,clr,sym,siz,doleg) controla la aparición de la leyenda en las gráficas. gscatter crea una leyenda de forma predeterminada.

ejemplo

gscatter(x,y,g,clr,sym,siz,doleg,xnam,ynam) indica los nombres que se usarán para las etiquetas del eje X y el eje Y. Si no proporciona xnam e ynam, y los datos de entrada de x e y son variables con nombres, gscatter etiquetará los ejes con los nombres de las variables.

ejemplo

gscatter(ax,___) usa los ejes de la gráfica especificados por el objeto de ejes ax. Especifique ax como primer argumento de entrada, seguido de cualquier combinación de argumentos de entrada de las sintaxis anteriores.

ejemplo

h = gscatter(___) devuelve los identificadores de las gráficas correspondientes a los grupos de g.

Puede pasar [] para clr, sym y siz para usar sus valores predeterminados.

Ejemplos

contraer todo

Cargue el conjunto de datos carsmall.

load carsmall

Represente los valores de Displacement en el eje X y los valores de Horsepower en el eje Y. gscatter usa los nombres de las variables como las etiquetas predeterminadas para los ejes. Agrupe los puntos de datos por Model_Year.

gscatter(Displacement,Horsepower,Model_Year)

Figure contains an axes object. The axes object contains 3 objects of type line. These objects represent 70, 76, 82.

Cargue el conjunto de datos discrim.

load discrim

El conjunto de datos contiene valoraciones de ciudades de acuerdo con nueve factores, como el clima, la vivienda, la educación y la salud. La matriz ratings contiene la información de las valoraciones.

Represente la relación entre las valoraciones del clima (primera columna) y la vivienda (segunda columna) agrupadas por el tamaño de la ciudad en la matriz group. Utilice colores y símbolos de gráfica diferentes para cada grupo.

gscatter(ratings(:,1),ratings(:,2),group,'br','xo')
xlabel('climate')
ylabel('housing')

Figure contains an axes object. The axes object contains 2 objects of type line. These objects represent 1, 2.

Cargue el conjunto de datos hospital.

load hospital

Represente las edades y el peso de los pacientes del hospital. Agrupe los pacientes de acuerdo con su género y sus hábitos tabáquicos. Use el símbolo o para representar a las personas no fumadoras y el símbolo * para las fumadoras.

x = hospital.Age;
y = hospital.Weight;
g = {hospital.Sex,hospital.Smoker};
gscatter(x,y,g,'rkgb','o*',8,'on','Age','Weight')
legend('Location','northeastoutside')

Figure contains an axes object. The axes object contains 4 objects of type line. These objects represent Female,0, Female,1, Male,0, Male,1.

Cargue el conjunto de datos carsmall. Cree una figura con dos subgráficas y devuelva los objetos axes como ax1 y ax2. Cree una gráfica de dispersión en cada conjunto de ejes haciendo referencia al objeto Axes correspondiente. En la subgráfica izquierda, agrupe los datos usando la variable Model_Year. En la subgráfica derecha, agrupe los datos usando la variable Cylinders. Añada un título a cada gráfica pasando el objeto Axes correspondiente a la función title.

load carsmall
color = lines(6); % Generate color values

ax1 = subplot(1,2,1); % Left subplot
gscatter(ax1,Acceleration,MPG,Model_Year,color(1:3,:))
title(ax1,'Left Subplot (Model Year)')

ax2 = subplot(1,2,2); % Right subplot
gscatter(ax2,Acceleration,MPG,Cylinders,color(4:6,:))
title(ax2,'Right Subplot (Cylinders)')

Figure contains 2 axes objects. Axes object 1 with title Left Subplot (Model Year) contains 3 objects of type line. These objects represent 70, 76, 82. Axes object 2 with title Right Subplot (Cylinders) contains 3 objects of type line. These objects represent 4, 6, 8.

Especifique los colores de marcadores usando el mapa de colores determinado por la función hsv.

Cargue el conjunto de datos de exploración de LiDAR que contiene las coordenadas de los objetos que rodean a un vehículo, almacenados como una colección de puntos en 3D.

load('lidar_subset.mat') 
loc = lidar_subset;

Para resaltar el entorno alrededor del vehículo, defina la región de interés de manera que se extienda 20 metros hacia la izquierda y la derecha del vehículo, 20 metros delante y detrás del vehículo y en el área encima de la superficie de la carretera.

xBound = 20; % in meters
yBound = 20; % in meters
zLowerBound = 0; % in meters

Recorte los datos para que contengan solo puntos dentro de la región especificada.

indices = loc(:,1) <= xBound & loc(:,1) >= -xBound ...
    & loc(:,2) <= yBound & loc(:,2) >= -yBound ...
    & loc(:,3) > zLowerBound;
loc = loc(indices,:);

Agrupe los datos usando dbscan con distancias en parejas.

D = pdist2(loc,loc);
idx = dbscan(D,2,50,'Distance','precomputed');

Visualice los grupos resultantes como una gráfica de dispersión de grupo en 2D usando la función gscatter. Por defecto, gscatter usa los siete colores predeterminados de MATLAB. Si el número de grupos únicos es mayor de siete, la función vuelve a aplicar los colores predeterminados según sea necesario. Busque el número de grupos y genere el número de colores correspondiente usando la función hsv. Especifique colores de marcadores para usar un color único para cada grupo.

numGroups = length(unique(idx));
clr = hsv(numGroups);
gscatter(loc(:,1),loc(:,2),idx,clr)
xlabel('x')
ylabel('y')

Figure contains an axes object. The axes object contains 12 objects of type line. These objects represent -1, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11.

Cargue el conjunto de datos carbig.

load carbig

Cree una gráfica de dispersión comparando Acceleration con MPG. Agrupe los puntos de datos basados en Origin.

h = gscatter(Acceleration,MPG,Origin)
h = 
  7x1 Line array:

  Line    (USA)
  Line    (France)
  Line    (Japan)
  Line    (Germany)
  Line    (Sweden)
  Line    (Italy)
  Line    (England)

Muestre el objeto Line correspondiente al grupo etiquetado como (Japan).

jgroup = h(3)
jgroup = 
  Line (Japan) with properties:

              Color: [0.9290 0.6940 0.1250]
          LineStyle: 'none'
          LineWidth: 0.5000
             Marker: '.'
         MarkerSize: 15
    MarkerFaceColor: 'none'
              XData: [15 14.5000 14.5000 14 19 18 15.5000 13.5000 17 ... ]
              YData: [24 27 27 25 31 35 24 19 28 23 27 20 22 18 20 31 32 ... ]

  Show all properties

Cambie el color del marcador del grupo Japan a negro.

jgroup.Color = 'k';

Figure contains an axes object. The axes object contains 7 objects of type line. These objects represent USA, France, Japan, Germany, Sweden, Italy, England.

Argumentos de entrada

contraer todo

valores del eje X, especificados como un vector numérico. x debe tener el mismo tamaño que y.

Tipos de datos: single | double

valores del eje Y, especificados como un vector numérico. y debe tener el mismo tamaño que x.

Tipos de datos: single | double

Variable de agrupación, especificada como un vector categórico, vector lógico, vector numérico, arreglo de caracteres, arreglo de cadenas o arreglo de celdas de vectores de caracteres. De manera alternativa, g puede ser un arreglo de celdas que contiene diferentes variables de agrupación (como {g1 g2 g3}). En este caso, las observaciones se colocarían en el mismo grupo si tienen valores comunes con todas las variables de agrupación. Los puntos del mismo grupo aparecen en la gráfica de dispersión con el mismo color de marcador, símbolo y tamaño.

El número de filas de g debe ser igual a la longitud de x.

Ejemplo: species

Ejemplo: {Cylinders,Origin}

Tipos de datos: categorical | logical | single | double | char | string | cell

Colores de marcadores, especificados como un vector de caracteres o escalar de cadena de nombres de colores cortos o una matriz de tripletes RGB.

Para un color personalizado, especifique una matriz de tripletes RGB. Un triplete RGB es un vector fila de tres elementos, cuyos elementos especifican las intensidades de los componentes rojo, verde y azul del color. Las intensidades deben estar en el rango [0,1]; por ejemplo, [0.4 0.6 0.7].

Alternativamente, puede especificar algunos colores comunes por nombre. En esta tabla se enumeran las opciones de color nombradas y sus tripletes RGB equivalentes

Nombre cortoTriplete RGBApariencia
'r'[1 0 0]

Sample of the color red

'g'[0 1 0]

Sample of the color green

'b'[0 0 1]

Sample of the color blue

'c'[0 1 1]

Sample of the color cyan

'm'[1 0 1]

Sample of the color magenta

'y'[1 1 0]

Sample of the color yellow

'k'[0 0 0]

Sample of the color black

'w'[1 1 1]

Sample of the color white

Estos son los códigos de colores de triplete RGB para los colores predeterminados que usa MATLAB en muchos tipos de gráficas.

Triplete RGBApariencia
[0 0.4470 0.7410]

Sample of RGB triplet [0 0.4470 0.7410], which appears as dark blue

[0.8500 0.3250 0.0980]

Sample of RGB triplet [0.8500 0.3250 0.0980], which appears as dark orange

[0.9290 0.6940 0.1250]

Sample of RGB triplet [0.9290 0.6940 0.1250], which appears as dark yellow

[0.4940 0.1840 0.5560]

Sample of RGB triplet [0.4940 0.1840 0.5560], which appears as dark purple

[0.4660 0.6740 0.1880]

Sample of RGB triplet [0.4660 0.6740 0.1880], which appears as medium green

[0.3010 0.7450 0.9330]

Sample of RGB triplet [0.3010 0.7450 0.9330], which appears as light blue

[0.6350 0.0780 0.1840]

Sample of RGB triplet [0.6350 0.0780 0.1840], which appears as dark red

El valor predeterminado de clr es la matriz de los tripletes RGB que contienen los colores predeterminados de MATLAB.

Si no especifica colores suficientes para todos los grupos únicos en g, entonces gscatter utilizará una estrategia cíclica usando los valores especificados en clr. Si usa valores predeterminados cuando el número de grupos únicos supera el número de colores predeterminados (7), entonces gscatter utilizará una estrategia cíclica usando los valores predeterminados según sea necesario.

Ejemplo: 'rgb'

Ejemplo: [0 0 1; 0 0 0]

Tipos de datos: char | string | single | double

Símbolos de marcadores, especificados como un vector de caracteres o escalar de cadena de los símbolos reconocidos por la función plot. Esta tabla muestra los símbolos de marcadores disponibles.

ValorDescripción
'o'Círculo
'+'Signo de más
'*'Asterisco
'.'Punto
'x'Cruz
's'Cuadrado
'd'Diamante
'^'Triángulo hacia arriba
'v'Triángulo hacia abajo
'>'Triángulo hacia la derecha
'<'Triángulo hacia la izquierda
'p'Estrella de cinco puntas (pentagrama)
'h'Estrella de seis puntas (hexagrama)
'none'Sin marcadores

Si no especifica valores suficientes para todos los grupos, gscatter utilizará una estrategia cíclica usando los valores especificados según sea necesario.

Ejemplo: 'o+*v'

Tipos de datos: char | string

Tamaños de los marcadores, especificados como un vector numérico positivo en puntos. El valor predeterminado depende del número de observaciones. Si no especifica valores suficientes para todos los grupos, gscatter utilizará una estrategia cíclica usando los valores especificados según sea necesario.

Ejemplo: [6 12]

Tipos de datos: single | double

Opción para incluir una leyenda, especificada como 'on' o 'off'. De forma predeterminada, se muestra la leyenda en la gráfica.

eje X, especificado como un vector de caracteres o un escalar de cadena.

Tipos de datos: char | string

etiqueta del eje Y, especificada como un vector de caracteres o un escalar de cadena.

Tipos de datos: char | string

Los ejes de la gráfica, especificados como un objeto Axes o UIAxes. Si no especifica ax, gscatter crea la gráfica utilizando los ejes actuales. Para obtener más información sobre la creación de un objeto de ejes, consulte axes y uiaxes.

Argumentos de salida

contraer todo

Identificadores de gráficas, devueltos como un arreglo de objetos Line. Cada objeto Line corresponde a uno de los grupos de g. Puede utilizar la notación de puntos para consultar y establecer las propiedades de los objetos de línea. Para ver una lista de las propiedades del objeto Line, consulte Line Properties.

Historial de versiones

Introducido antes de R2006a

expandir todo