histogram
Gráfica de histograma
Descripción
Los histogramas son un tipo de gráfica de barras que agrupa los datos en bins. Después de crear un objeto Histogram
, puede modificar aspectos del histograma cambiando los valores de sus propiedades. Esto es especialmente útil para modificar rápidamente las propiedades de los bins o cambiar la visualización.
Creación
Sintaxis
Descripción
histogram(
crea una gráfica de histograma de X
)X
. La función histogram
usa un algoritmo de discretización automático que devuelve bins con una amplitud uniforme, elegidos para cubrir el rango de elementos en X
y revelar la forma subyacente de la distribución. histogram
muestra los bins como barras rectangulares, de tal forma que la altura de cada rectángulo indica el número de elementos del bin.
histogram(
representa un histograma con una barra para cada categoría del arreglo categórico C
)C
.
histogram(
representa solamente un subconjunto de categorías en C
,Categories
)C
.
histogram('Categories',
especifica manualmente las categorías y los números de bins asociados. Categories
,'BinCounts',counts
)histogram
representa los números de bins especificados y no hace ninguna discretización de datos.
histogram(___,
especifica parámetros adicionales con uno o más argumentos de par nombre-valor para cualquiera de las sintaxis anteriores. Por ejemplo, especifique Name,Value
)Normalization
para utilizar un tipo de normalización diferente. Para obtener una lista de las propiedades, consulte Histogram Properties.
histogram(
se representa en los ejes especificados en lugar de en los ejes actuales (ax
,___)gca
). ax
puede preceder a cualquiera de las combinaciones de argumentos de entrada de las sintaxis anteriores.
devuelve un objeto h
= histogram(___)Histogram
. Úselo para inspeccionar y ajustar las propiedades del histograma. Para obtener una lista de las propiedades, consulte Histogram Properties.
Argumentos de entrada
X
— Datos para distribuir entre los bins
vector | matriz | arreglo multidimensional
Datos para distribuir entre los bins, especificados como vector, matriz o arreglo multidimensional. histogram
trata los datos de matrices y arreglos multidimensionales como un único vector columna, X(:)
, y representa un único histograma.
histogram
ignora todos los valores NaN
y NaT
. De igual modo, histogram
ignora los valores Inf
y -Inf
, a menos que los bordes de los bins especifiquen explícitamente Inf
o -Inf
como borde de bin. Aunque los valores NaN
, NaT
, Inf
y -Inf
normalmente no se representan, siguen incluidos en los cálculos de normalización que incluyen el número total de elementos de datos, como 'probability'
.
Nota
Si X
contiene números enteros del tipo int64
o uint64
que son mayores que flintmax
, se recomienda que especifique explícitamente los bordes de los bins del histograma. histogram
agrupa automáticamente los datos de entrada usando doble precisión, a la que le falta la precisión de los enteros para números superiores a flintmax
.
Tipos de datos: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
| logical
| datetime
| duration
C
— Datos categóricos
arreglo categórico
Datos categóricos, especificados como arreglo categórico. histogram
no representa los valores categóricos sin definir. Sin embargo, estos valores sí se incluyen en los cálculos de normalización que incluyen el número total de elementos de datos, como 'probability'
.
Tipos de datos: categorical
nbins
— Número de bins
entero positivo
Número de bins, especificado como entero positivo. Si no especifica nbins
, histogram
determina el número de bins a partir de los valores de X
.
Si especifica nbins
con BinMethod
, BinWidth
o BinEdges
, histogram
solo respeta el último parámetro.
Ejemplo: histogram(X,15)
crea un histograma con 15 bins.
edges
— Bordes de los bins
vector
Bordes de los bins, especificados como vector. edges(1)
es el borde inicial del primer bin y edges(end)
es el borde final del último bin.
Cada bin incluye el borde inicial, pero no incluye el borde final, excepto el último bin que incluye ambos bordes.
Para los datos datetime
y duration
, edges
debe ser un vector datetime
o duration
en un orden que aumente monótonamente.
Tipos de datos: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
| logical
| datetime
| duration
Categories
— Categorías incluidas en el histograma
arreglo de celdas de vectores de caracteres | arreglo categórico | arreglo de cadenas | Escalar pattern
Nota
Esta opción solo se aplica a histogramas categóricos.
Categorías incluidas en el histograma, especificadas como arreglo de celdas de vectores de caracteres, arreglo categórico, arreglo de cadenas o escalar pattern
.
Si especifica un arreglo categórico de entrada
C
, de manera predeterminada,histogram
representa una barra por cada categoría deC
. En ese caso, useCategories
para especificar un subconjunto único de las categorías.Si especifica recuentos de bins,
Categories
especifica los nombres de las categorías asociadas para el histograma.
Ejemplo: h = histogram(C,{'Large','Small'})
solo representa los datos categóricos en las categorías 'Large'
y 'Small'
.
Ejemplo: histogram(C,"Y" + wildcardPattern)
representa datos en las categorías cuyos nombres empiezan por la letra Y
.
Ejemplo: histogram('Categories',{'Yes','No','Maybe'},'BinCounts',[22 18 3])
representa un histograma que tiene tres categorías con los recuentos de bins asociados.
Ejemplo: h.Categories
consulta las categorías que se encuentran en el objeto de histograma h
.
Tipos de datos: cell
| categorical
| string
| pattern
counts
— Recuentos de bins
vector
Recuentos de bins, especificados como vector. Use esta entrada para pasar recuentos de bins a histogram
cuando el cálculo de recuentos de bins se lleve a cabo por separado y no desee que histogram
realice ninguna discretización de datos.
El tamaño de counts
debe ser igual al número de bins.
Para histogramas numéricos, el número de bins es
length(edges)-1
.Para histogramas categóricos, el número de bins equivale al número de categorías.
Ejemplo: histogram('BinEdges',-2:2,'BinCounts',[5 8 15 9])
Ejemplo: histogram('Categories',{'Yes','No','Maybe'},'BinCounts',[22 18 3])
ax
— Ejes objetivo
objeto Axes
| objeto PolarAxes
Ejes objetivo, especificados como objeto Axes
o como objeto PolarAxes
. Si no se especifican los ejes y los ejes actuales son ejes cartesianos, la función histogram
utiliza los ejes actuales (gca
). Para representar en ejes polares, especifique el objeto PolarAxes
como primer argumento de entrada o utilice la función polarhistogram
.
Especifique pares opcionales de argumentos como Name1=Value1,...,NameN=ValueN
, donde Name
es el nombre del argumento y Value
es el valor correspondiente. Los argumentos nombre-valor deben aparecer después de otros argumentos, pero el orden de los pares no importa.
Ejemplo: histogram(X,BinWidth=5)
En las versiones anteriores a R2021a, utilice comas para separar cada nombre y valor, y encierre Name
entre comillas.
Ejemplo: histogram(X,'BinWidth',5)
Nota
Las propiedades que se enumeran aquí son solo un subconjunto. Para obtener una lista completa, consulte Histogram Properties.
BinWidth
— Anchura de los bins
escalar positivo
Anchura de los bins, especificada como escalar positivo. Si especifica BinWidth
, Histogram
puede usar un máximo de 65.536 bins (o 216). Si la anchura de los bins especificada requiere más bins, histogram
usa una anchura de bins más grande, correspondiente al número máximo de bins.
Para datos
datetime
yduration
,BinWidth
puede ser una duración escalar o de calendario.Si especifica
BinWidth
conBinMethod
,NumBins
oBinEdges
,histogram
solo respeta el último parámetro.Esta opción no se aplica a datos categóricos.
Ejemplo:
usa bins con una anchura de 5.histogram
(X,'BinWidth',5)
BinLimits
— Límites de bins
vector de dos elementos
Límites de bins, especificados como un vector de dos elementos, [bmin,bmax]
. El primer elemento indica el primer borde del bin. El segundo elemento indica el último borde del bin.
Esta opción realiza el cálculo utilizando solo los datos que se encuentran dentro de los límites de los bins, ambos incluidos, X>=bmin & X<=bmax
.
Esta opción no se aplica a datos categóricos.
Ejemplo:
agrupa solamente los valores de histogram
(X,'BinLimits',[1,10])X
que se encuentran entre 1
y 10
, ambos incluidos.
BinLimitsMode
— Modo de selección para límites de bins
'auto'
(predeterminado) | 'manual'
Modo de selección para límites de bins, especificado como 'auto'
o 'manual'
. El valor predeterminado es 'auto'
, de forma que los límites de bins se ajusten automáticamente a los datos.
Si especifica
BinLimits
oBinEdges
,BinLimitsMode
se establece en'manual'
. EspecifiqueBinLimitsMode
como'auto'
para volver a escalar los límites de los bins a los datos.Esta opción no se aplica a histogramas de datos categóricos.
BinMethod
— Algoritmo de discretización
'auto'
(predeterminado) | 'scott'
| 'fd'
| 'integers'
| 'sturges'
| 'sqrt'
| ...
Algoritmo de discretización, especificado como uno de los valores de esta tabla.
Valor | Descripción |
---|---|
| El algoritmo predeterminado |
| La regla de Scott es óptima si los datos están cerca de distribuirse de manera normal. Esta regla también es adecuada para la mayoría de las otras distribuciones. Utiliza una anchura de bin de |
| La regla de Freedman-Diaconis es menos sensible a valores atípicos en los datos y podría ser más adecuada para datos con distribuciones de cola pesada. Utiliza una anchura de bin de |
| La regla de enteros es útil con datos enteros, ya que crea un bin para cada entero. Utiliza una anchura de bin de 1 y coloca bordes de bins a una distancia media entre los enteros. Para evitar crear accidentalmente demasiados bins, puede usar esta regla para crear un límite de 65.536 bins (216). Si el intervalo de datos es superior a 65.536, la regla de enteros usa bins más anchos.
|
| La regla de Sturges es popular por su sencillez. Elige el número de bins para que sean |
| La regla de la raíz cuadrada se usa ampliamente en otros paquetes de software. Elige el número de bins para que sean |
histogram
ajusta ligeramente el número de bins, de manera que los bordes de los bins caigan en "buenos" números, en lugar de usar estas fórmulas exactas.
Para datos datetime
o duration
, especifique el algoritmo de discretización como una de estas unidades de tiempo.
Valor | Descripción | Tipo de datos |
---|---|---|
"second" | Cada bin es de 1 segundo. | datetime y duration |
"minute" | Cada bin es de 1 minuto. | datetime y duration |
"hour" | Cada bin es de 1 hora. | datetime y duration |
"day" | Cada bin es de 1 día natural. Este valor tiene en cuenta los cambios de horario de verano. | datetime y duration |
"week" | Cada bin es de 1 semana natural. | Solo datetime |
"month" | Cada bin es de 1 mes natural. | Solo datetime |
"quarter" | Cada bin es de 1 trimestre natural. | Solo datetime |
"year" | Cada bin es de 1 año natural. Este valor tiene en cuenta los años bisiestos. | datetime y duration |
"decade" | Cada bin es de 1 década (10 años naturales). | Solo datetime |
"century" | Cada bin es de 1 siglo (100 años naturales). | Solo datetime |
Si especifica
BinMethod
con datosdatetime
oduration
,histogram
puede usar un máximo de 65.536 bins (o 216). Si la duración de bins especificada requiere más bins,histogram
usa una anchura de bin más grande, correspondiente al número máximo de bins.Si especifica
BinLimits
,NumBins
,BinEdges
oBinWidth
,BinMethod
se establece en'manual'
.Si especifica
BinMethod
conBinWidth
,NumBins
oBinEdges
,histogram
solo respeta el último parámetro.Esta opción no se aplica a datos categóricos.
Ejemplo:
centra los bins en enteros.histogram
(X,'BinMethod','integers')
DisplayOrder
— Orden de visualización de categorías
'data'
(predeterminado) | 'ascend'
| 'descend'
Orden de visualización de categorías, especificado como 'data'
, 'ascend'
o 'descend'
.
'data'
: usa el orden de la categoría en los datos de entradaC
.'ascend'
: muestra el histograma con la altura de las barras en orden creciente.'descend'
: muestra el histograma con la altura de las barras en orden decreciente.
Esta opción solo funciona con datos categóricos.
NumDisplayBins
— Número de categorías que mostrar
escalar
Número de categorías que mostrar, especificado como escalar. Puede cambiar el orden de las categorías que se muestran en el histograma mediante la opción 'DisplayOrder'
.
Esta opción solo funciona con datos categóricos.
ShowOthers
— Cambiar la visualización del resumen de los datos que pertenecen a categorías que no se muestran
'off'
(predeterminado) | valor lógico activado/desactivado
Cambie la visualización del resumen de los datos que pertenecen a categorías que no se muestran, especificados como 'on'
u 'off'
, o como 1
(true
) o 0
(false
) numérico o lógico. Un valor de 'on'
equivale a true
, y 'off'
equivale a false
. En consecuencia, puede utilizar el valor de esta propiedad como valor lógico. El valor se guarda como valor lógico activado/desactivado del tipo matlab.lang.OnOffSwitchState
.
Configure esta opción como
'on'
para que aparezca una barra adicional en el histograma con el nombre'Others'
. Esta barra extra cuenta todos los elementos que no pertenecen a categorías que se muestran en el histograma.Puede cambiar el número de categorías que se muestran en el histograma, así como su orden, mediante las opciones
'NumDisplayBins'
y'DisplayOrder'
.Esta opción solo funciona con datos categóricos.
Normalization
— Tipo de normalización
'count'
(predeterminado) | 'probability'
| 'percentage'
| 'countdensity'
| 'cumcount'
| 'pdf'
| 'cdf'
Tipo de normalización, especificado como uno de los valores de esta tabla. Para cada bin i
:
es el valor del bin.
es el número de elementos del bin.
es la anchura del bin.
es el número de elementos de los datos de entrada. Este valor puede ser superior a los datos incluidos en el bin si estos contienen valores faltantes, como
NaN
, o si algunos de los datos se encuentran fuera de los límites del bin.
Valor | Valores del bin | Notas |
---|---|---|
'count' (valor predeterminado) |
|
|
'probability' |
|
|
'percentage' |
|
|
'countdensity' |
|
|
'cumcount' |
|
|
'pdf' |
|
|
'cdf' |
|
|
Ejemplo:
agrupa los datos usando una estimación de la función de densidad de probabilidad.histogram
(X,'Normalization','pdf')
DisplayStyle
— Estilo de visualización del histograma
'bar'
(predeterminado) | 'stairs'
Estilo de visualización del histograma, especificado como 'bar'
o 'stairs'
.
'bar'
: muestra una gráfica de barras para el histograma sobre cada ventana deA
. Este método es útil para reducir las tendencias periódicas de los datos.'stairs'
: muestra una gráfica de escalones que representa el contorno del histograma sin rellenar el interior.
Ejemplo: histogram(X,'DisplayStyle','stairs')
representa el contorno del histograma.
Orientation
— Orientación de las barras
'vertical'
(predeterminado) | 'horizontal'
Orientación de las barras, especificada como 'vertical'
u 'horizontal'
.
Ejemplo: histogram(X,'Orientation','horizontal')
crea una gráfica de histograma con barras horizontales.
BarWidth
— Anchura relativa de las barras categóricas
0.9
(predeterminado) | escalar en el intervalo [0,1]
Anchura relativa de las barras categóricas, especificada como un valor escalar en el intervalo [0,1]
. Use esta propiedad para controlar la separación de las barras categóricas en el histograma. El valor predeterminado es 0.9
, lo que significa que el ancho de la barra es el 90% del espacio desde la barra anterior a la siguiente barra, con un 5% de ese espacio a cada lado.
Si BarWidth
es 1
, las barras adyacentes se tocan.
Esta opción solo funciona con datos categóricos.
Ejemplo: 0.5
FaceColor
— Color de las barras del histograma
'auto'
(predeterminado) | 'none'
| Triplete RGB | código de color hexadecimal | nombre del color
Color de las barras del histograma, especificado como uno de estos valores:
'none'
: las barras no se rellenan.'auto'
: el color de las barras del histograma se elige automáticamente (valor predeterminado).Triplete RGB, código de color hexadecimal o nombre del color: las barras se rellenan con el color especificado.
Los tripletes RGB y los códigos de color hexadecimales son útiles para especificar colores personalizados.
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]
.Un código de color hexadecimal es un vector de caracteres o un escalar de cadena que comienza con el símbolo de almohadilla (
#
) seguido de tres o seis dígitos hexadecimales, que pueden oscilar entre0
yF
. Los valores no distinguen entre mayúsculas y minúsculas. Así, los códigos de color"#FF8800"
,"#ff8800"
,"#F80"
y"#f80"
son equivalentes.
Como alternativa, puede especificar algunos colores frecuentes por su nombre. En esta tabla se enumeran las opciones de color con su nombre, los tripletes RGB equivalentes y los códigos de color hexadecimales.
Nombre del color Nombre corto Triplete RGB Código de color hexadecimal Apariencia "red"
"r"
[1 0 0]
"#FF0000"
"green"
"g"
[0 1 0]
"#00FF00"
"blue"
"b"
[0 0 1]
"#0000FF"
"cyan"
"c"
[0 1 1]
"#00FFFF"
"magenta"
"m"
[1 0 1]
"#FF00FF"
"yellow"
"y"
[1 1 0]
"#FFFF00"
"black"
"k"
[0 0 0]
"#000000"
"white"
"w"
[1 1 1]
"#FFFFFF"
A continuación, se indican los tripletes RGB y los códigos de color hexadecimales de los colores predeterminados que MATLAB® utiliza en muchos tipos de gráficas.
Triplete RGB Código de color hexadecimal Apariencia [0 0.4470 0.7410]
"#0072BD"
[0.8500 0.3250 0.0980]
"#D95319"
[0.9290 0.6940 0.1250]
"#EDB120"
[0.4940 0.1840 0.5560]
"#7E2F8E"
[0.4660 0.6740 0.1880]
"#77AC30"
[0.3010 0.7450 0.9330]
"#4DBEEE"
[0.6350 0.0780 0.1840]
"#A2142F"
Si especifica DisplayStyle
como 'stairs'
, histogram
no usa la propiedad FaceColor
.
Ejemplo:
crea una gráfica de histograma con barras de color verde.histogram
(X,'FaceColor','g')
EdgeColor
— Color de los bordes del histograma
[0 0 0]
o negro (predeterminado) | 'none'
| 'auto'
| Triplete RGB | código de color hexadecimal | nombre del color
Color de los bordes del histograma, especificado como uno de estos valores:
'none'
: los bordes no se representan.'auto'
: el color de cada borde se elige automáticamente.Triplete RGB, código de color hexadecimal o nombre del color: los bordes usan el color especificado.
Los tripletes RGB y los códigos de color hexadecimales son útiles para especificar colores personalizados.
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]
.Un código de color hexadecimal es un vector de caracteres o un escalar de cadena que comienza con el símbolo de almohadilla (
#
) seguido de tres o seis dígitos hexadecimales, que pueden oscilar entre0
yF
. Los valores no distinguen entre mayúsculas y minúsculas. Así, los códigos de color"#FF8800"
,"#ff8800"
,"#F80"
y"#f80"
son equivalentes.
Como alternativa, puede especificar algunos colores frecuentes por su nombre. En esta tabla se enumeran las opciones de color con su nombre, los tripletes RGB equivalentes y los códigos de color hexadecimales.
Nombre del color Nombre corto Triplete RGB Código de color hexadecimal Apariencia "red"
"r"
[1 0 0]
"#FF0000"
"green"
"g"
[0 1 0]
"#00FF00"
"blue"
"b"
[0 0 1]
"#0000FF"
"cyan"
"c"
[0 1 1]
"#00FFFF"
"magenta"
"m"
[1 0 1]
"#FF00FF"
"yellow"
"y"
[1 1 0]
"#FFFF00"
"black"
"k"
[0 0 0]
"#000000"
"white"
"w"
[1 1 1]
"#FFFFFF"
A continuación, se indican los tripletes RGB y los códigos de color hexadecimales de los colores predeterminados que MATLAB utiliza en muchos tipos de gráficas.
Triplete RGB Código de color hexadecimal Apariencia [0 0.4470 0.7410]
"#0072BD"
[0.8500 0.3250 0.0980]
"#D95319"
[0.9290 0.6940 0.1250]
"#EDB120"
[0.4940 0.1840 0.5560]
"#7E2F8E"
[0.4660 0.6740 0.1880]
"#77AC30"
[0.3010 0.7450 0.9330]
"#4DBEEE"
[0.6350 0.0780 0.1840]
"#A2142F"
Ejemplo:
crea una gráfica de histograma con los bordes de las barras de color rojo.histogram
(X,'EdgeColor','r')
FaceAlpha
— Transparencia de las barras del histograma
0.6
(predeterminado) | valor escalar en el intervalo [0,1]
Transparencia de las barras del histograma, especificada como valor escalar en el intervalo [0,1]
. histogram
usa la misma transparencia para todas las barras del histograma. Un valor de 1
significa totalmente opaco y 0
significa totalmente transparente (invisible).
Ejemplo:
crea una gráfica de histograma con barras completamente opacas.histogram
(X,'FaceAlpha',1)
EdgeAlpha
— Transparencia de los bordes de las barras del histograma
1
(predeterminado) | escalar en el intervalo [0,1]
Transparencia de los bordes de las barras del histograma, especificada como valor escalar en el intervalo [0,1]
. Un valor de 1
significa totalmente opaco y 0
significa totalmente transparente (invisible).
Ejemplo:
crea una gráfica de histograma con los bordes de las barras semitransparentes. histogram
(X,'EdgeAlpha',0.5)
LineStyle
— Estilo de línea
"-"
(predeterminado) | "--"
| ":"
| "-."
| "none"
Estilo de línea, especificado como una de las opciones enumeradas en esta tabla.
Estilo de línea | Descripción | Línea resultante |
---|---|---|
"-" | Línea continua |
|
"--" | Línea discontinua |
|
":" | Línea de puntos |
|
"-." | Línea de puntos y rayas |
|
"none" | Sin línea | Sin línea |
LineWidth
— Anchura de los contornos de las barras
0.5
(predeterminado) | valor positivo
Anchura de los contornos de las barras, especificada como valor positivo en unidades de punto. Un punto equivale a 1/72 pulgadas.
Ejemplo: 1.5
Tipos de datos: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
Argumentos de salida
h
— Histograma
objeto
Histograma, devuelto como objeto. Para obtener más información, consulte Histogram Properties.
Propiedades
Histogram Properties | Histogram appearance and behavior |
Funciones del objeto
Ejemplos
Histograma de un vector
Genere 10.000 números aleatorios y cree un histograma. La función histogram
elige automáticamente un número adecuado de bins para cubrir el intervalo de valores de x
y mostrar la forma de la distribución subyacente.
x = randn(10000,1); h = histogram(x)
h = Histogram with properties: Data: [10000x1 double] Values: [2 2 1 6 7 17 29 57 86 133 193 271 331 421 540 613 730 748 776 806 824 721 623 503 446 326 234 191 132 78 65 33 26 11 8 5 5] NumBins: 37 BinEdges: [-3.8000 -3.6000 -3.4000 -3.2000 -3 -2.8000 -2.6000 -2.4000 -2.2000 -2 -1.8000 -1.6000 -1.4000 -1.2000 -1 -0.8000 -0.6000 -0.4000 -0.2000 0 0.2000 0.4000 0.6000 0.8000 1.0000 1.2000 1.4000 1.6000 1.8000 2.0000 2.2000 ... ] (1x38 double) BinWidth: 0.2000 BinLimits: [-3.8000 3.6000] Normalization: 'count' FaceColor: 'auto' EdgeColor: [0 0 0] Use GET to show all properties
Cuando especifica un argumento de salida en la función histogram
, devuelve un objeto de histograma. Puede usar este objeto para inspeccionar las propiedades del histograma, como el número de bins o la anchura de estos.
Busque el número de bins del histograma.
nbins = h.NumBins
nbins = 37
Especificar el número de bins de un histograma
Represente un histograma de 1000 números aleatorios ordenados en 25 bins equidistantes.
x = randn(1000,1); nbins = 25; h = histogram(x,nbins)
h = Histogram with properties: Data: [1000x1 double] Values: [1 3 0 6 14 19 31 54 74 80 92 122 104 115 88 80 38 32 21 9 5 5 5 0 2] NumBins: 25 BinEdges: [-3.4000 -3.1200 -2.8400 -2.5600 -2.2800 -2 -1.7200 -1.4400 -1.1600 -0.8800 -0.6000 -0.3200 -0.0400 0.2400 0.5200 0.8000 1.0800 1.3600 1.6400 1.9200 2.2000 2.4800 2.7600 3.0400 3.3200 3.6000] BinWidth: 0.2800 BinLimits: [-3.4000 3.6000] Normalization: 'count' FaceColor: 'auto' EdgeColor: [0 0 0] Use GET to show all properties
Halle los recuentos de los bins.
counts = h.Values
counts = 1×25
1 3 0 6 14 19 31 54 74 80 92 122 104 115 88 80 38 32 21 9 5 5 5 0 2
Cambiar el número de bins de un histograma
Genere 1000 números aleatorios y cree un histograma.
X = randn(1000,1); h = histogram(X)
h = Histogram with properties: Data: [1000x1 double] Values: [3 1 2 15 17 27 53 79 85 101 127 110 124 95 67 32 27 16 6 6 4 1 2] NumBins: 23 BinEdges: [-3.3000 -3.0000 -2.7000 -2.4000 -2.1000 -1.8000 -1.5000 -1.2000 -0.9000 -0.6000 -0.3000 0 0.3000 0.6000 0.9000 1.2000 1.5000 1.8000 2.1000 2.4000 2.7000 3 3.3000 3.6000] BinWidth: 0.3000 BinLimits: [-3.3000 3.6000] Normalization: 'count' FaceColor: 'auto' EdgeColor: [0 0 0] Use GET to show all properties
Use la función morebins
para ajustar "grosso modo" el número de bins.
Nbins = morebins(h); Nbins = morebins(h)
Nbins = 29
Especifique explícitamente el número de bins para ajustar los bins con más precisión.
h.NumBins = 31;
Especificar los bordes de los bins de un histograma
Genere 1000 números aleatorios y cree un histograma. Especifique los bordes de los bins como vector con bins amplios en los bordes del histograma para capturar los valores atípicos que no satisfacen . El elemento del primer vector es el borde izquierdo del primer bin, y el elemento del último vector es el borde derecho del último bin.
x = randn(1000,1); edges = [-10 -2:0.25:2 10]; h = histogram(x,edges);
Especifique la propiedad Normalization
como 'countdensity'
para allanar los bins que contienen los valores atípicos. Ahora, el área de cada bin (en lugar de la altura) representa la frecuencia de las observaciones en ese intervalo.
h.Normalization = 'countdensity';
Representar un histograma categórico
Cree un vector categórico que represente votos. Las categorías del vector son 'yes'
, 'no'
o 'undecided'
.
A = [0 0 1 1 1 0 0 0 0 NaN NaN 1 0 0 0 1 0 1 0 1 0 0 0 1 1 1 1]; C = categorical(A,[1 0 NaN],{'yes','no','undecided'})
C = 1x27 categorical
no no yes yes yes no no no no undecided undecided yes no no no yes no yes no yes no no no yes yes yes yes
Represente un histograma categórico de los votos, usando una anchura de barra relativa de 0.5
.
h = histogram(C,'BarWidth',0.5)
h = Histogram with properties: Data: [no no yes yes yes no no no no undecided undecided yes no no no yes no yes no yes no no no yes yes yes yes] Values: [11 14 2] NumDisplayBins: 3 Categories: {'yes' 'no' 'undecided'} DisplayOrder: 'data' Normalization: 'count' DisplayStyle: 'bar' FaceColor: 'auto' EdgeColor: [0 0 0] Use GET to show all properties
Histograma con normalización especificada
Genere 1000 números aleatorios y cree un histograma usando la normalización de 'probability'
.
x = randn(1000,1); h = histogram(x,'Normalization','probability')
h = Histogram with properties: Data: [1000x1 double] Values: [0.0030 1.0000e-03 0.0020 0.0150 0.0170 0.0270 0.0530 0.0790 0.0850 0.1010 0.1270 0.1100 0.1240 0.0950 0.0670 0.0320 0.0270 0.0160 0.0060 0.0060 0.0040 1.0000e-03 0.0020] NumBins: 23 BinEdges: [-3.3000 -3.0000 -2.7000 -2.4000 -2.1000 -1.8000 -1.5000 -1.2000 -0.9000 -0.6000 -0.3000 0 0.3000 0.6000 0.9000 1.2000 1.5000 1.8000 2.1000 2.4000 2.7000 3 3.3000 3.6000] BinWidth: 0.3000 BinLimits: [-3.3000 3.6000] Normalization: 'probability' FaceColor: 'auto' EdgeColor: [0 0 0] Use GET to show all properties
Calcule la suma de las alturas de las barras. Con esta normalización, la altura de cada barra equivale a la probabilidad de seleccionar una observación en ese intervalo de barras, y la altura de todas las barras suma 1.
S = sum(h.Values)
S = 1
Histograma con porcentajes
Genere 100.000 números aleatorios distribuidos de manera normal. Use una desviación estándar de 15 y una media de 100.
x = 100 + 15*randn(1e5,1);
Represente un histograma de los números aleatorios. Escale y etiquete el eje y como porcentajes.
edges = 55:15:145; histogram(x,edges,Normalization="percentage") ytickformat("percentage")
Representar varios histogramas
Genere dos vectores de números aleatorios y represente un histograma para cada vector en la misma figura.
x = randn(2000,1);
y = 1 + randn(5000,1);
h1 = histogram(x);
hold on
h2 = histogram(y);
Dado que el tamaño de la muestra y la anchura de bins de los histogramas son diferentes, es difícil compararlos. Normalice los histogramas para que las alturas de las barras sumen 1 y use una anchura de bins uniforme.
h1.Normalization = 'probability'; h1.BinWidth = 0.25; h2.Normalization = 'probability'; h2.BinWidth = 0.25;
Ajustar la propiedades de un histograma
Genere 1000 números aleatorios y cree un histograma. Devuelva el objeto de histograma para ajustar las propiedades del histograma sin volver a crear toda la gráfica.
x = randn(1000,1); h = histogram(x)
h = Histogram with properties: Data: [1000×1 double] Values: [3 1 2 15 17 27 53 79 85 101 127 110 124 95 67 32 27 16 6 6 4 1 2] NumBins: 23 BinEdges: [-3.3000 -3.0000 -2.7000 -2.4000 -2.1000 -1.8000 -1.5000 -1.2000 -0.9000 -0.6000 -0.3000 0 0.3000 0.6000 0.9000 1.2000 1.5000 1.8000 2.1000 2.4000 2.7000 3 3.3000 3.6000] BinWidth: 0.3000 BinLimits: [-3.3000 3.6000] Normalization: 'count' FaceColor: 'auto' EdgeColor: [0 0 0] Show all properties
Especifique exactamente cuántos bins desea usar.
h.NumBins = 15;
Especifique los bordes de los bins con un vector. El primer valor del vector es el borde izquierdo del primer bin. El último valor es el borde derecho del último bin.
h.BinEdges = [-3:3];
Cambie el color de las barras del histograma.
h.FaceColor = [0 0.5 0.5];
h.EdgeColor = 'r';
Determinar la distribución de probabilidad subyacente
Genere 5000 números aleatorios distribuidos normalmente con una media de 5 y una desviación estándar de 2. Represente un histograma con Normalization
establecido en 'pdf'
para generar un cálculo de la función de densidad de probabilidad.
x = 2*randn(5000,1) + 5; histogram(x,'Normalization','pdf')
En este ejemplo, se conoce la distribución subyacente de los datos distribuidos normalmente. Sin embargo, puede usar la representación del histograma 'pdf'
para determinar la distribución de probabilidad subyacente de los datos comparándola con una función conocida de densidad de probabilidad.
La función de densidad de probabilidad de una distribución normal con media , desviación estándar y varianza es
Superponga una representación de la función de densidad de probabilidad para una distribución normal con una media de 5 y una desviación estándar de 2.
hold on y = -5:0.1:15; mu = 5; sigma = 2; f = exp(-(y-mu).^2./(2*sigma^2))./(sigma*sqrt(2*pi)); plot(y,f,'LineWidth',1.5)
Guardar y cargar objetos de histograma
Use la función savefig
para guardar una figura de histogram
.
histogram(randn(10)); savefig('histogram.fig'); close gcf
Use openfig
para volver a cargar la figura de histograma en MATLAB®. openfig
también devuelve un identificador para la figura, h
.
h = openfig('histogram.fig');
Use la función findobj
para encontrar el identificador de objeto correcto a partir del identificador de la figura. De este modo podrá seguir manipulando el objeto de histograma original utilizado para generar la figura.
y = findobj(h,'type','histogram')
y = Histogram with properties: Data: [10x10 double] Values: [2 17 28 32 16 3 2] NumBins: 7 BinEdges: [-3 -2 -1 0 1 2 3 4] BinWidth: 1 BinLimits: [-3 4] Normalization: 'count' FaceColor: 'auto' EdgeColor: [0 0 0] Use GET to show all properties
Sugerencias
Las gráficas de histograma creadas mediante
histogram
tienen un menú contextual en el modo de edición de gráfica que permite manipulaciones interactivas en la ventana de la figura. Por ejemplo, puede usar el menú contextual para cambiar interactivamente el número de bins, alinear varios histogramas o cambiar el orden de visualización.Cuando añade consejos sobre datos a una gráfica de histograma, se muestran los bordes de los bins y el recuento de bins.
Capacidades ampliadas
Arreglos altos
Realice cálculos con arreglos que tienen más filas de las que caben en la memoria.
Esta función es compatible con arreglos altos, con las siguientes limitaciones:
No se admiten algunas opciones de entradas. Entre las opciones permitidas se encuentran:
'BinWidth'
'BinLimits'
'Normalization'
'DisplayStyle'
'BinMethod'
: los métodos de bin'auto'
y'scott'
son los mismos. No se admite el método de bin'fd'
.'EdgeAlpha'
'EdgeColor'
'FaceAlpha'
'FaceColor'
'LineStyle'
'LineWidth'
'Orientation'
Asimismo, hay un límite en el número máximo de barras. El máximo predeterminado es 100.
No se admiten los métodos
morebins
yfewerbins
.No se admiten las propiedades de edición del objeto de histograma que requieren un nuevo cálculo de los bins.
Para obtener más información, consulte Arreglos altos para datos con memoria insuficiente.
Arreglos GPU
Acelere código mediante la ejecución en una unidad de procesamiento gráfico (GPU) mediante Parallel Computing Toolbox™.
Notas y limitaciones de uso:
Esta función acepta arreglos de GPU, pero no se ejecuta en una GPU.
Para obtener más información, consulte Run MATLAB Functions on a GPU (Parallel Computing Toolbox).
Arreglos distribuidos
Realice particiones de arreglos grandes por toda la memoria combinada de su cluster mediante Parallel Computing Toolbox™.
Notas y limitaciones de uso:
Esta función opera sobre arreglos distribuidos, pero se ejecuta en el cliente MATLAB.
Para obtener más información, consulte Run MATLAB Functions with Distributed Arrays (Parallel Computing Toolbox).
Historial de versiones
Introducido en R2014bR2023b: Normalizar con porcentajes
Puede crear histogramas con porcentajes en el eje vertical estableciendo el argumento de par nombre-valor Normalization
en 'percentage'
.
Comando de MATLAB
Ha hecho clic en un enlace que corresponde a este comando de MATLAB:
Ejecute el comando introduciéndolo en la ventana de comandos de MATLAB. Los navegadores web no admiten comandos de MATLAB.
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)