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 :