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:
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:
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:
Publicación traducida automáticamente
Artículo escrito por tejalkadam18m y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA