Clase Matplotlib.colors.DivergingNorm 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.colors.DivergingNorm

La clase matplotlib.colors.DivergingNorm 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.DivergingNorm es muy útil al mapear datos con tasas de cambio irregulares o desiguales alrededor de un centro conceptual. Por ejemplo, los datos oscilan entre -2 y 0 como centro o punto medio.
 

Sintaxis: matplotlib.colors.DivergingNorm(vcenter, vmin, vmax)
Parámetros: 
 

  1. vcenter : Acepta un valor flotante que define el valor de datos 0.5 en la normalización.
     
  2. vmin: es un parámetro opcional que acepta valores flotantes y define el valor de datos 0.0 en la normalización, que por defecto es el valor mínimo del conjunto de datos.
     
  3. vmax: es un parámetro opcional que acepta valores flotantes y define el valor de datos 1.0 en la normalización, que por defecto es el valor máximo del conjunto de datos.
     

 

Ejemplo 1: 
 

Python3

import numpy
from matplotlib import pyplot as plt
from matplotlib import colors
 
 
# dummy data to plot
x = numpy.linspace(0, 2*numpy.pi, 30)
y = numpy.linspace(0, 2*numpy.pi, 20)
[A, B] = numpy.meshgrid(x, y)
Q = numpy.sin(A)*numpy.cos(B)
 
fig = plt.figure()
plt.ion()
 
#  yellow to green to red
# colormap
plt.set_cmap('brg')
 
ax = fig.add_subplot(1, 2, 1)
plt.pcolor(A, B, Q)
plt.colorbar()
 
ax = fig.add_subplot(1, 2, 2)
 
# defining the scale, with white
# at zero
vmin = -0.2
vmax = 0.8
norms = colors.DivergingNorm(vmin=vmin,
                             vcenter=0,
                             vmax=vmax)
 
plt.pcolor(A, B, Q,
           vmin=vmin,
           vmax=vmax,
           norm=norms) 
 
plt.colorbar()

Producción:
 

python-matplotlib-divergingnorm

Ejemplo 2: 
 

Python3

import numpy as np
import matplotlib.pyplot as plt
import matplotlib.cbook as cbook
import matplotlib.colors as colors
 
file = cbook.get_sample_data('topobathy.npz',
                             asfileobj = False)
 
with np.load(file) as example:
    topo = example['topo']
    longi = example['longitude']
    latit = example['latitude']
 
figure, axes = plt.subplots(constrained_layout = True)
 
# creating a colormap that
# has land and ocean clearly
# delineated and of the
# same length (256 + 256)
undersea = plt.cm.terrain(np.linspace(0, 0.17, 256))
land = plt.cm.terrain(np.linspace(0.25, 1, 256))
every_colors = np.vstack((undersea, land))
 
terrain_map = colors.LinearSegmentedColormap.from_list('terrain_map',
                                                       every_colors)
 
# the center is offset so that
# the land has more dynamic range
# while making the norm
diversity_norm = colors.DivergingNorm(vmin =-500,
                                      vcenter = 0,
                                      vmax = 4000)
 
pcm = axes.pcolormesh(longi, latit, topo,
                      rasterized = True,
                      norm = diversity_norm,
                      cmap = terrain_map, )
 
axes.set_xlabel('Longitude $[^o E]$')
axes.set_ylabel('Latitude $[^o N]$')
axes.set_aspect(1 / np.cos(np.deg2rad(49)))
 
figure.colorbar(pcm, shrink = 0.6,
                extend ='both',
                label ='Elevation [m]')
plt.show()

Producción: 
 

matplotlib.colors.DivergingNorm

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 *