Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Aprende Gráfico de Pastel | Más Gráficos Estadísticos
Visualización Definitiva con Python

book
Gráfico de Pastel

Note
Definición

Gráfico de pastel es un gráfico que utiliza un círculo dividido en segmentos para representar la proporción numérica (distribución porcentual) de datos nominales.

Este gráfico representa la distribución porcentual de la población por región.

Note
Nota

A pesar de ser visualmente atractivo, los gráficos de pastel deben evitarse en su mayoría, ya que distorsionan la visualización de los datos. Una categoría con muchas instancias parecerá aún más grande, mientras que una categoría con pocas instancias parecerá aún más pequeña.

Gráfico de pastel con etiquetas

Utiliza la función pie() del módulo pyplot para crear un gráfico de pastel. Su único parámetro obligatorio es el dato (x).

El parámetro labels asigna etiquetas a cada segmento y debe ser una secuencia de cadenas.

import pandas as pd

url = 'https://content-media-cdn.codefinity.com/courses/47339f29-4722-4e72-a0d4-6112c70ff738/population.csv'
population_df = pd.read_csv(url)

print(population_df)
123456
import pandas as pd url = 'https://content-media-cdn.codefinity.com/courses/47339f29-4722-4e72-a0d4-6112c70ff738/population.csv' population_df = pd.read_csv(url) print(population_df)
copy

Este DataFrame contiene la población de cada región.

import matplotlib.pyplot as plt
import pandas as pd
population_df = pd.read_csv('https://content-media-cdn.codefinity.com/courses/47339f29-4722-4e72-a0d4-6112c70ff738/population.csv')
# Creating a pie chart and setting the labels for each region
plt.pie(population_df['Population'], labels=population_df['Region'])
plt.show()
123456
import matplotlib.pyplot as plt import pandas as pd population_df = pd.read_csv('https://content-media-cdn.codefinity.com/courses/47339f29-4722-4e72-a0d4-6112c70ff738/population.csv') # Creating a pie chart and setting the labels for each region plt.pie(population_df['Population'], labels=population_df['Region']) plt.show()
copy

La función pie() se llamó pasando la Series de datos de población como el parámetro x, y la Series de nombres de regiones proporcionada como etiquetas de los segmentos usando el parámetro labels.

Añadir porcentajes

Para mostrar el porcentaje de cada segmento, utilice el parámetro autopct en la función pie(). Esto controla cómo se formatean y muestran los porcentajes dentro del gráfico.

Acepta una cadena de formato o una función. Aquí, el enfoque está en utilizar una cadena de formato.

import matplotlib.pyplot as plt
import pandas as pd

population_df = pd.read_csv('https://content-media-cdn.codefinity.com/courses/47339f29-4722-4e72-a0d4-6112c70ff738/population.csv')

# Setting the label for each region and its percentage
plt.pie(population_df['Population'], labels=population_df['Region'], autopct='%1.1f%%')

plt.show()
123456789
import matplotlib.pyplot as plt import pandas as pd population_df = pd.read_csv('https://content-media-cdn.codefinity.com/courses/47339f29-4722-4e72-a0d4-6112c70ff738/population.csv') # Setting the label for each region and its percentage plt.pie(population_df['Population'], labels=population_df['Region'], autopct='%1.1f%%') plt.show()
copy

Cadena de formato

La cadena %1.1f%% da formato a los valores porcentuales que se muestran en el gráfico circular.

  • %f indica que el valor es un número de punto flotante;

  • .1 especifica un dígito después del punto decimal;

  • El doble % asegura que aparezca el signo de porcentaje en la salida.

Note
Estudiar más

Si desea explorar más parámetros, aquí tiene la documentación de pie() para usted.

Tarea

Swipe to start coding

  1. Utilizar la función correcta para crear un gráfico de pastel.
  2. Usar incomes como los datos para el gráfico de pastel (el primer argumento).
  3. Establecer las etiquetas en names mediante el segundo argumento.
  4. Definir el formato del porcentaje como un número flotante con un dígito después del punto decimal mediante el tercer argumento.

Solución

import matplotlib.pyplot as plt

names = ['person_1', 'person_2', 'person_3', 'person_4']
incomes = [100000, 87000, 150000, 45000]

# Create a pie chart
plt.pie(incomes, labels=names, autopct='%1.1f%%')

plt.show()
¿Todo estuvo claro?

¿Cómo podemos mejorarlo?

¡Gracias por tus comentarios!

Sección 4. Capítulo 3
import matplotlib.pyplot as plt

names = ['person_1', 'person_2', 'person_3', 'person_4']
incomes = [100000, 87000, 150000, 45000]

# Create a pie chart
___.___(___, ___=___, ___='___')

plt.show()

Pregunte a AI

expand
ChatGPT

Pregunte lo que quiera o pruebe una de las preguntas sugeridas para comenzar nuestra charla

some-alt