Gráfico de sectores en pandas

Los gráficos de sectores representan la proporción de cada categoría sobre el total. En pandas se crean con plot.pie sobre una Series, donde el índice contiene las categorías y los valores su tamaño.

Gráfico de sectores con plot.pie

Por defecto pandas utiliza el nombre de la Series como etiqueta del eje Y. Establece ylabel = "" para eliminarla.

import pandas as pd
import matplotlib.pyplot as plt

s = pd.Series([45, 25, 20, 10], index = ["Chrome", "Safari", "Edge", "Otros"])

s.plot.pie(ylabel = "")
# plt.show()

Gráfico de sectores en pandas

Mostrar los porcentajes

autopct agrega el porcentaje de cada sector utilizando una cadena de formato, como "%1.0f%%" para porcentajes sin decimales.

import pandas as pd
import matplotlib.pyplot as plt

s = pd.Series([45, 25, 20, 10], index = ["Chrome", "Safari", "Edge", "Otros"])

s.plot.pie(autopct = "%1.0f%%", ylabel = "")
# plt.show()

Gráfico de sectores con porcentajes en pandas

Separar sectores, rotar y colores

explode separa algunos sectores del centro, startangle rota el gráfico y colors establece el color de cada sector.

import pandas as pd
import matplotlib.pyplot as plt

s = pd.Series([45, 25, 20, 10], index = ["Chrome", "Safari", "Edge", "Otros"])

s.plot.pie(explode = [0.1, 0, 0, 0], startangle = 90,
           colors = ["#264653", "#2A9D8F", "#E9C46A", "#E76F51"],
           autopct = "%1.0f%%", ylabel = "")
# plt.show()

Gráfico de sectores con sectores separados y colores personalizados en pandas

Gráfico de donut

Establece una anchura menor que 1 para los sectores con wedgeprops para crear un gráfico de donut.

import pandas as pd
import matplotlib.pyplot as plt

s = pd.Series([45, 25, 20, 10], index = ["Chrome", "Safari", "Edge", "Otros"])

s.plot.pie(wedgeprops = {"width": 0.4}, ylabel = "")
# plt.show()

Gráfico de donut en pandas

Varios gráficos de sectores

Sobre un data frame, plot.pie(subplots = True) crea un gráfico de sectores para cada columna.

Varios gráficos de sectores con pandas

import pandas as pd
import matplotlib.pyplot as plt

df = pd.DataFrame({"2024": [40, 30, 20, 10], "2025": [45, 25, 20, 10]},
                  index = ["Chrome", "Safari", "Edge", "Otros"])

df.plot.pie(subplots = True, figsize = (8, 4), legend = False,
            autopct = "%1.0f%%")
# plt.show()

Aprende más sobre los gráficos de sectores en matplotlib y los gráficos de donut en matplotlib.

Data Sketches

A journey of imagination, exploration, and beautiful data visualizations

Comprar en Amazon
Fundamentals of Data Visualization

A Primer on Making Informative and Compelling Figures

Comprar en Amazon

También te puede interesar