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:
- vcenter : Acepta un valor flotante que define el valor de datos 0.5 en la normalización.
- 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.
- 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:
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:
Publicación traducida automáticamente
Artículo escrito por RajuKumar19 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA