Esta página aún no se ha traducido para esta versión. Puede ver la versión más reciente de esta página en inglés.

Controle la exhibición categórica del histograma

En este ejemplo se muestra cómo utilizar histogram para ver datos categóricos de manera efectiva. Puede utilizar los pares nombre-valor 'NumDisplayBins', 'DisplayOrder' y 'ShowOthers' para cambiar la visualización de un histograma categórico. Estas opciones le ayudarán a organizar mejor los datos y a reducir el ruido en la gráfica.

Crear histograma categórico

El archivo de ejemplo outages.csv contiene datos que representan interrupciones de la utilidad eléctrica en los Estados Unidos. El archivo contiene seis columnas: Region, OutageTime, Loss, Customers, RestorationTime y Cause.

Lea el archivo outages.csv como una tabla. Utilice la opción 'Format' para especificar el tipo de datos que contiene cada columna: categórico ('%C'), numérico de punto flotante ('%f') o DateTime ('%D'). Indexar en las primeras filas de datos para ver las variables.

data_formats = '%C%D%f%f%D%C'; C = readtable('outages.csv','Format',data_formats); first_few_rows = C(1:10,:)
first_few_rows=10×6 table
     Region         OutageTime        Loss     Customers     RestorationTime          Cause     
    _________    ________________    ______    __________    ________________    _______________

    SouthWest    2002-02-01 12:18    458.98    1.8202e+06    2002-02-07 16:50    winter storm   
    SouthEast    2003-01-23 00:49    530.14    2.1204e+05                 NaT    winter storm   
    SouthEast    2003-02-07 21:15     289.4    1.4294e+05    2003-02-17 08:14    winter storm   
    West         2004-04-06 05:44    434.81    3.4037e+05    2004-04-06 06:10    equipment fault
    MidWest      2002-03-16 06:18    186.44    2.1275e+05    2002-03-18 23:23    severe storm   
    West         2003-06-18 02:49         0             0    2003-06-18 10:54    attack         
    West         2004-06-20 14:39    231.29           NaN    2004-06-20 19:16    equipment fault
    West         2002-06-06 19:28    311.86           NaN    2002-06-07 00:51    equipment fault
    NorthEast    2003-07-16 16:23    239.93         49434    2003-07-17 01:12    fire           
    MidWest      2004-09-27 11:09    286.72         66104    2004-09-27 16:37    equipment fault

Traza un histograma categórico de la variable Cause . Especifique un argumento de salida para devolver un identificador al objeto histograma.

h = histogram(C.Cause); xlabel('Cause of Outage') ylabel('Frequency') title('Most Common Power Outage Causes')

Cambie la normalización del histograma para utilizar la normalización 'probability' , que muestra la frecuencia relativa de cada causa de interrupción.

h.Normalization = 'probability'; ylabel('Relative Frequency')

Cambiar orden de visualización

Utilice la opción 'DisplayOrder' para ordenar las ubicaciones de las más grandes a las más pequeñas.

h.DisplayOrder = 'descend';

Truncar el número de barras mostradas

Utilice la opción 'NumDisplayBins' para mostrar sólo tres barras en la gráfica. Las probabilidades mostradas ya no agregan a 1 puesto que los datos no mostrados todavía se tienen en cuenta para la normalización.

h.NumDisplayBins = 3;

Resumir datos excluidos

Utilice la opción 'ShowOthers' para resumir todas las barras excluidas, de modo que las probabilidades mostradas vuelvan a añadir a 1.

h.ShowOthers = 'on';

Limitar la normalización para Mostrar datos

Antes de R2017a, las funciones histogram y histcounts sólo utilizaban datos Desechado para calcular la normalización. Este comportamiento significó que si algunos de los datos terminaron fuera de los compartimientos, fue omitido para los propósitos de la normalización. Sin embargo, en Matlab ® R2017a, el comportamiento cambió para normalizar siempre utilizando el número total de elementos en los datos de entrada. El nuevo comportamiento es más intuitivo, pero si usted prefiere el comportamiento antiguo, entonces usted necesita tomar algunos pasos especiales para limitar la normalización sólo a los datos desechado.

En lugar de normalizar todos los datos de entrada, puede limitar la normalización de probabilidad a los datos que se muestran en el histograma. Simplemente actualice la propiedad Data del objeto histograma para quitar las otras categorías. La propiedad Categories refleja las categorías que se muestran en el histograma. Utilice setdiff para comparar los dos valores de propiedad y elimine cualquier categoría de Data que no esté en Categories. A continuación, elimine todos los elementos categóricos del undefined resultante de los datos, dejando sólo elementos en las categorías mostradas.

h.ShowOthers = 'off'; cats_to_remove = setdiff(categories(h.Data),h.Categories); h.Data = removecats(h.Data,cats_to_remove); h.Data = rmmissing(h.Data);

La normalización se basa ahora sólo en las tres categorías restantes, por lo que las tres barras se suman a 1.

Consulte también

| |