Desplazar radialmente la cuña del gráfico circular en Matplotlib

Los gráficos circulares son gráficos estadísticos divididos en porciones que representan diferentes valores de datos y suman hasta el 100 %. Python es uno de los lenguajes de programación más utilizados para la visualización de datos. Python tiene múltiples bibliotecas de visualización de datos y Matplotlib es una de ellas. Matplotlib es ampliamente utilizado debido a su simplicidad y facilidad de implementación. La biblioteca matplotlib admite la creación de gráficos circulares. La función de explosión permite separar las porciones del gráfico circular. Los usuarios pueden especificar explícitamente la parte que desean explotar. El valor especificado en la tupla de explosión decide la distancia a la que se explota la división. Cuanto mayor sea el valor, mayor será la distancia de la rebanada desde el centro del pastel. 

Ejemplo 1:

En este ejemplo, se importa el módulo matplotlib.pyplot. Los conjuntos de continentes y áreas se inicializan. La tupla de explosión está definida. Los índices de los sectores que deben dividirse reciben un valor superior a 0. El sector se mueve a una distancia especificada en la tupla desde el centro del círculo. El gráfico circular se traza para los datos especificados. El atributo autopct se usa para especificar la distancia del texto en el corte desde el centro del círculo. El ángulo inicial se utiliza para especificar la orientación del gráfico. El valor predeterminado de startangle es 0, lo que significa que el trazado comienza en el eje X positivo. El color del borde se establece en negro y el ancho de línea se establece en 2. La propiedad de suavizado se establece en verdadero para evitar el efecto de alias en la imagen.

A continuación se muestra la implementación:

Python3

import matplotlib.pyplot as plt
  
# the slices are ordered and 
# plotted counter-clockwise:
continents = ['Asia', 'Europe', 'North America',
              'South America','Australia',
              'Africa','Antarctica']
  
area = [25, 20, 15, 10,15,10,5]
explode = (0.1, 0, 0.1, 0,0.1,0.1,0.1) 
  
plt.pie(area, explode = explode, labels = continents,
        autopct = '%1.1f%%',startangle = 0,
        wedgeprops = {"edgecolor" : "black",
                    'linewidth' : 2,
                    'antialiased': True})
  
# Equal aspect ratio ensures 
# that pie is drawn as a circle.
plt.axis('equal') 
  
plt.show()

Producción:

Ejemplo 2:

En este ejemplo, se importa el módulo matplotlib.pyplot. Las arrays de ventas y beneficios se inicializan. La tupla de explosión está definida. Los índices de los sectores que deben dividirse reciben un valor superior a 0. El sector se mueve a una distancia especificada en la tupla desde el centro del círculo. El gráfico circular se traza para los datos especificados. El atributo autopct se usa para especificar la distancia del texto en el corte desde el centro del círculo. El ángulo inicial se utiliza para especificar la orientación del gráfico. El valor predeterminado de startangle es 0, lo que significa que el trazado comienza en el eje X positivo. El color del borde se establece en negro y el ancho de línea se establece en 2. La propiedad de suavizado se establece en verdadero para evitar un efecto de alias en la imagen.

A continuación se muestra la implementación:

Python3

import matplotlib.pyplot as plt
  
# the slices are ordered and plotted counter-clockwise:
sales = ['Product A', 'Product B', 
         'Product C', 'Product D']
  
profit = [20, 30, 25, 20]
explode = (0.1, 0, 0.1, 0) 
  
plt.pie(profit, explode = explode, labels = sales,
        autopct = '%1.1f%%',shadow = True,
        startangle = 90,
        wedgeprops = {"edgecolor":"black",
                    'linewidth': 2,
                    'antialiased': True})
  
# Equal aspect ratio ensures
# that pie is drawn as a circle.
plt.axis('equal')  
  
plt.show()

Producción:

Publicación traducida automáticamente

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