¿Cómo crear un gráfico circular desde Pandas DataFrame?

En este artículo, discutiremos cómo crear un gráfico circular a partir del marco de datos de Pandas usando Python.

Los datos en un gráfico circular están representados por un gráfico circular, que es una forma de gráfico. En investigación, ingeniería y negocios, se utiliza con frecuencia. Los segmentos del pastel representan la fuerza relativa de los datos y son una especie de representación gráfica de los datos. Se requiere una lista de categorías y variables numéricas para un gráfico circular. La frase «pastel» se refiere a todo, mientras que «rebanadas» se refiere a los componentes individuales del pastel. Se divide en segmentos y sectores, y cada segmento y sector representa una parte del gráfico circular completo (porcentaje). Todos los datos suman 360 grados. El valor total del pastel es siempre del 100 por ciento.

Primero creemos un gráfico circular simple.

Gráfico circular sencillo 

Para esto primero, se importan todos los módulos requeridos y se inicializa un marco de datos. Para trazar un gráfico circular, se utiliza la función plot() y el atributo kind se establece en circular.

Sintaxis:

plot(kind='pie')

Ejemplo: un gráfico circular simple

Python3

import pandas as pd
  
# DataFrame of each student and the votes they get
dataframe = pd.DataFrame({'Name': ['Aparna', 'Aparna', 'Aparna',
                                   'Aparna', 'Aparna', 'Juhi', 
                                   'Juhi', 'Juhi', 'Juhi', 'Juhi',
                                   'Suprabhat', 'Suprabhat', 'Suprabhat',
                                   'Suprabhat', 'Suprabhat'],
                          'votes_of_each_class': [12, 9, 17, 19, 20, 
                                                  11, 15, 12, 9, 4, 
                                                  22, 19, 17, 19, 18]})
  
# Plotting the pie chart for above dataframe
dataframe.groupby(['Name']).sum().plot(kind='pie', y='votes_of_each_class')

Producción:

Gráfico circular como porcentaje

Para agregar porcentaje , el atributo autopct se establece en un valor apropiado, esto agrega automáticamente porcentajes a cada sección.

Sintaxis:

plot(kind='pie', autopct)

Ejemplo: agregar porcentajes a un gráfico circular

Python3

import pandas as pd
  
# DataFrame of each student and the votes they get
dataframe = pd.DataFrame({'Name': ['Aparna', 'Aparna', 'Aparna', 
                                   'Aparna', 'Aparna', 'Juhi', 
                                   'Juhi', 'Juhi', 'Juhi', 'Juhi',
                                   'Suprabhat', 'Suprabhat', 
                                   'Suprabhat', 'Suprabhat', 
                                   'Suprabhat'],
                          'votes_of_each_class': [12, 9, 17, 19, 
                                                  20, 11, 15, 12, 
                                                  9, 4, 22, 19, 17, 
                                                  19, 18]})
  
# Plotting the pie chart for above dataframe
dataframe.groupby(['Name']).sum().plot(
    kind='pie', y='votes_of_each_class', autopct='%1.0f%%')

Producción:

Definición de colores en un gráfico circular

Para agregar colores a un gráfico circular, el atributo de colores se establece en una lista de colores adecuada.

Sintaxis:

plot(kind='pie', colors)

Ejemplo: agregar colores a un gráfico circular 

Python3

import pandas as pd
  
# DataFrame of each student and the votes they get
dataframe = pd.DataFrame({'Name': ['Aparna', 'Aparna', 'Aparna', 
                                   'Aparna', 'Aparna', 'Juhi',
                                   'Juhi', 'Juhi', 'Juhi', 'Juhi',
                                   'Suprabhat', 'Suprabhat', 
                                   'Suprabhat', 'Suprabhat', 
                                   'Suprabhat'],
                          'votes_of_each_class': [12, 9, 17, 19,
                                                  20, 11, 15, 12, 
                                                  9, 4, 22, 19, 17,
                                                  19, 18]})
  
# Defining colors for the pie chart
colors = ['pink', 'silver', 'steelblue']
  
# Plotting the pie chart for above dataframe
dataframe.groupby(['Name']).sum().plot(
    kind='pie', y='votes_of_each_class', 
  autopct='%1.0f%%', colors=colors)

Producción:

Explotar efecto en gráfico circular

Explotar un gráfico circular significa dividirlo en sus segmentos. Para esto, usamos el atributo de explosión y lo configuramos en un valor apropiado.

Sintaxis:

plot(kind='pie', explode)

Ejemplo: explotar un gráfico circular

Python3

import pandas as pd
  
# DataFrame of each student and the votes they get
dataframe = pd.DataFrame({'Name': ['Aparna', 'Aparna', 'Aparna', 
                                   'Aparna', 'Aparna', 'Juhi', 
                                   'Juhi', 'Juhi', 'Juhi', 'Juhi',
                                   'Suprabhat', 'Suprabhat', 
                                   'Suprabhat', 'Suprabhat', 
                                   'Suprabhat'],
                          'votes_of_each_class': [12, 9, 17, 19, 
                                                  20, 11, 15, 12,
                                                  9, 4, 22, 19, 17, 
                                                  19, 18]})
  
# Defining colors for the pie chart
colors = ['pink', 'silver', 'steelblue']
  
# Define the ratio of gap of each fragment in a tuple
explode = (0.05, 0.05, 0.05)
  
# Plotting the pie chart for above dataframe
dataframe.groupby(['Name']).sum().plot(
    kind='pie', y='votes_of_each_class', autopct='%1.0f%%',
  colors=colors, explode=explode)

Producción :

Efecto de sombra en gráfico circular

Shadow agrega una dimensión adicional a nuestro gráfico circular, para esto simplemente configure el atributo shadow en True.

Sintaxis:

plot(kind='pie', shadow=True)

Ejemplo: efecto de sombra en un gráfico circular 

Python3

import pandas as pd
  
# DataFrame of each student and the votes they get
dataframe = pd.DataFrame({'Name': ['Aparna', 'Aparna', 'Aparna', 
                                   'Aparna', 'Aparna', 'Juhi', 
                                   'Juhi', 'Juhi', 'Juhi', 'Juhi',
                                   'Suprabhat', 'Suprabhat', 
                                   'Suprabhat', 'Suprabhat', 
                                   'Suprabhat'],
                          'votes_of_each_class': [12, 9, 17, 19, 
                                                  20, 11, 15, 12, 
                                                  9, 4, 22, 19, 17, 
                                                  19, 18]})
  
  
# Plotting the pie chart for above dataframe
# and implementing shadow effect
dataframe.groupby(['Name']).sum().plot(
    kind='pie', y='votes_of_each_class', autopct='%1.0f%%', shadow=True)

Producción:

Configuración del ángulo de inicio en un gráfico circular

El ángulo de inicio implica que podemos rotar el gráfico circular de acuerdo con el ángulo de grado que especificamos. Para este atributo startangle se establece en el valor apropiado.

Sintaxis:

plot(kind='pie', startangle)

Ejemplo: establecer un ángulo de inicio en un gráfico circular 

Python3

import pandas as pd
  
# DataFrame of each student and the votes they get
dataframe = pd.DataFrame({'Name': ['Aparna', 'Aparna', 'Aparna', 
                                   'Aparna', 'Aparna', 'Juhi',
                                   'Juhi', 'Juhi', 'Juhi', 'Juhi',
                                   'Suprabhat', 'Suprabhat', 
                                   'Suprabhat', 'Suprabhat', 
                                   'Suprabhat'],
                          'votes_of_each_class': [12, 9, 17, 19,
                                                  20, 11, 15, 12, 
                                                  9, 4, 22, 19, 17, 
                                                  19, 18]})
  
  
# Plotting the pie chart for above dataframe
# and rotating the pie chart by 60 degrees
dataframe.groupby(['Name']).sum().plot(
    kind='pie', y='votes_of_each_class', autopct='%1.0f%%', startangle=60)

Producción :

Publicación traducida automáticamente

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