¿Cómo cambiar el tamaño de la barra de color de Matplotlib en Python?

Colorbar es un eje separado que proporciona un mapa de colores actual que indica el mapeo de puntos de datos en colores. En este artículo, vamos a cambiar el tamaño de la barra de color de Matplotlib en Python. Hay varias formas de cambiar el tamaño de la barra de color o ajustar su posición. Vamos a verlo uno por uno.

Método 1: cambiar el tamaño de la barra de color usando el argumento de palabra clave de reducción

Usando el atributo de reducción de la función colorbar() podemos escalar el tamaño de la barra de colores. 

Sintaxis: matplotlib.pyplot.colorbar(asignable=Ninguno, encoger=escala)

Básicamente, estamos multiplicando por algún factor el tamaño original de la barra de colores. En el siguiente ejemplo, usando 0.5 como factor, estamos teniendo el tamaño original de la barra de color.

Ejemplo 1:  

Python3

# importing library
import matplotlib.pyplot as plt
  
# Some data to show as an image
data = [[1, 2, 3],
        [4, 5, 6]]
  
# Call imshow() to display 2-D data as an image
img = plt.imshow(data)
  
# Scaling colorbar by factor 0.5
plt.colorbar(shrink=0.5)
plt.show()

Producción: 

Usando_shrink_attribute

Ejemplo 2: En este ejemplo, estamos usando el factor 0.75. De manera similar, puede usar cualquier factor para cambiar el tamaño de la barra de colores. El valor predeterminado del atributo de reducción es 1.

Python3

import matplotlib.pyplot as plt
import matplotlib.image as mpimg
fig, ax = plt.subplots()
  
# getting rid of axis
plt.axis('off')
  
# Reading saved image from folder
img = mpimg.imread(r'img.jpg')
  
# displaying image
plt.imshow(img)
  
# Scaling by factor 0.75
plt.colorbar(shrink=0.75)
plt.show()

Producción: 

Usando_shrink_attribute

Método 2: Usar la clase AxesDivider

Con esta clase, puede cambiar el tamaño de los ejes de la barra de colores; sin embargo, la altura será la misma que la de los ejes actuales. Aquí estamos usando la función axes_divider.make_axes_locatable que devuelve el objeto AxisDivider para nuestros ejes actuales en los que se muestra nuestra imagen.

Ejemplo: 

Python3

# importing libraries
import matplotlib.pyplot as plt
from mpl_toolkits.axes_grid1 import make_axes_locatable
  
fig, ax = plt.subplots()
# Reading image from folder
  
img = mpimg.imread(r'img.jpg')
image = plt.imshow(img)
  
# Locating current axes
divider = make_axes_locatable(ax)
  
# creating new axes on the right
# side of current axes(ax).
# The width of cax will be 5% of ax
# and the padding between cax and ax
# will be fixed at 0.05 inch.
colorbar_axes = divider.append_axes("right",
                                    size="10%",
                                    pad=0.1)
# Using new axes for colorbar
plt.colorbar(image, cax=colorbar_axes)
plt.show()

Producción: 

Usando_AxisDivider

Publicación traducida automáticamente

Artículo escrito por tejalkadam18m 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 *