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.
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()

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()

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 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()

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

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.
También te puede interesar