Clase Matplotlib.colors.Normalize en Python

Matplotlib es una increíble biblioteca de visualización en Python para gráficos 2D de arrays. Matplotlib es una biblioteca de visualización de datos multiplataforma basada en arrays NumPy y diseñada para funcionar con la pila SciPy más amplia. 
 

matplotlib.colores.Normalizar

La clase matplotlib.colors.Normalize pertenece al módulo matplotlib.colors . El módulo matplotlib.colors se usa para convertir argumentos de color o números a RGBA o RGB. Este módulo se usa para asignar números a colores o conversión de especificación de color en una array de colores 1-D también conocida como mapa de colores.
La clase matplotlib.colors.Normalize se usa para normalizar los datos en el intervalo de [0.0, 1.0].
Sintaxis:
 

clase matplotlib.colors.Normalize(vmin=Ninguno, vmax=Ninguno, clip=Falso)

Si no se establece vmin o vmax, se inicializa a partir del valor mínimo y máximo de la primera entrada procesada, respectivamente. En otras palabras, __call__(Data) llama a autoscale_None(Data). Si el valor de clip se establece en True y el valor dado está fuera de rango, devuelve 0 o 1, el que sea más cercano. Si vmax==vmin, devuelve 0. Funciona tanto con arrays escalares como con arrays enmascaradas. Los valores enmascarados se establecen en 1 si el clip es Verdadero; de lo contrario, permanecen enmascarados.
Métodos: 
 

  1. autoscale(self, A): este método establece vmin en min y vmax en max de A.
     
  2. autoscale_None(self, A): este método escala automáticamente solo vmin y vmax con el valor Ninguno.
     
  3. inverse(self, value): Intercambia los valores de vmin y vmax.
     
  4. static process_value(valor): el parámetro de valor en este método puede ser un escalar o una secuencia. Se utiliza para homogeneizar valores de entrada para una normalización simple y eficiente. Este método devuelve una array enmascarada de valores coincidentes. Todos los tipos de datos flotantes se conservan y los tipos de datos enteros con dos o menos bytes se transforman en np.float32, mientras que los tipos de bytes más grandes se transforman en np.float64. Esto se hace para mejorar la velocidad de arreglos más grandes al preservar los valores de float32 siempre que sea posible mediante el uso de operaciones en el lugar.
     
  5. scaled(self): devuelve un valor booleano para comprobar si se ha establecido vmin o vmax. 
     

Ejemplo 1: 
 

Python3

import matplotlib.pyplot as plt
import numpy as np
from matplotlib import colors
from matplotlib.ticker import PercentFormatter
 
# set a  random state for
# reproducibility
np.random.seed(19687581)
 
total_points = 500000
total_bins = 100
 
# Centering at a = 0 and b = 5
# generate normal distributions
a = np.random.randn(total_points)
b = .4 * a + np.random.randn(500000) + 5
 
figure, axes = plt.subplots(1, 2,
                            tight_layout = True)
 
# C is the count in each bin
C, bins, patches = axes[0].hist(a,
                                bins = total_bins)
 
# We'll color code by height,
# but you could use any scalar
fracs = C / C.max()
 
# Normalize of  the data to 0..1
# for covering the full range of
# the colormap
norm = colors.Normalize(fracs.min(), fracs.max())
 
# looping through the objects and
# setting the color of each accordingly
for thisfrac, thispatch in zip(fracs, patches):
    color = plt.cm.viridis(norm(thisfrac))
    thispatch.set_facecolor(color)
 
# normalize the inputs by C
axes[1].hist(a, bins = total_bins, density = True)
 
# formating the y-axis for displaying
# percentage
axes[1].yaxis.set_major_formatter(PercentFormatter(xmax = 1))

Producción: 
 

Ejemplo 2: 
 

Python3

import matplotlib.pyplot as plt
import matplotlib as mpl
 
figure, axes = plt.subplots(figsize =(6, 1))
figure.subplots_adjust(bottom = 0.5)
 
color_map = mpl.cm.cool
normalizer = mpl.colors.Normalize(vmin = 0, vmax = 5)
 
figure.colorbar(mpl.cm.ScalarMappable(norm = normalizer,
               cmap = color_map),
               cax = axes, orientation ='horizontal',
               label ='Arbitrary Units')

Producción: 
 

Publicación traducida automáticamente

Artículo escrito por RajuKumar19 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *