En este artículo, aprenderemos a usar Imshow con dos barras de colores en Matplotlib. Analicemos algunos conceptos:
- 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. Fue presentado por John Hunter en el año 2002.
- Uno de los mayores beneficios de la visualización es que nos permite el acceso visual a grandes cantidades de datos en imágenes fácilmente digeribles. Matplotlib consta de varios gráficos como línea, barra, dispersión, histograma, etc.
- función mostrar()
- función barra de colores()
Python3
# import libraries import matplotlib.pyplot as plt import numpy as np # create image = 10x10 array img = np.random.randint(-100, 100, (10, 10)) # make plot fig, ax = plt.subplots() # show image shw = ax.imshow(img) # make bar bar = plt.colorbar(shw) # show plot with labels plt.xlabel('X Label') plt.ylabel('Y Label') bar.set_label('ColorBar') plt.show()
Producción :
En el resultado anterior, podemos ver que hay una barra de color con valores que van desde -100 a 100. Esto no parece efectivo y no aclara la diferencia de valores positivos pequeños a valores positivos más grandes. De manera similar, no aclara la diferencia de valores negativos pequeños a valores negativos mayores. Aquí, dividimos la barra de colores en dos partes:
- uno con valores positivos
- uno con valores negativos
Con diferentes colores, que nos ayudan a entender la trama de forma clara y eficaz. A continuación se mencionan todos los pasos para dicho trabajo.
- Crear/cargar datos de imagen
- Array enmascarada a valores positivos y negativos
- Hacer una trama usando el método subplot()
- Mostrar imagen usando el método imshow()
- Haz barras usando el método matplotlib.pyplot.colorbar()
- Mostrar trama con etiquetas
Ejemplo:
Python3
# import libraries import matplotlib.pyplot as plt import numpy as np from numpy.ma import masked_array # create image = 10x10 array img = np.random.randint(-100, 100, (10, 10)) # masked array to positive and negative values neg_img = masked_array(img, img >= 0) pos_img = masked_array(img, img < 0) # make plot fig, ax = plt.subplots() # show image shw1 = ax.imshow(neg_img, cmap=plt.cm.Reds) shw2 = ax.imshow(pos_img, cmap=plt.cm.winter) # make bars bar1 = plt.colorbar(shw1) bar2 = plt.colorbar(shw2) # show plot with labels plt.xlabel('X Label') plt.ylabel('Y Label') bar1.set_label('ColorBar 1') bar2.set_label('ColorBar 2') plt.show()
Publicación traducida automáticamente
Artículo escrito por deepanshu_rustagi y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA