Anular las etiquetas de porcentaje del gráfico circular de Matplotlib a un valor específico que no sume el 100%
Tengo un gráfico de pastel dado por el siguiente código:
import matplotlib.pyplot as plt
colorPalette=["#61412B","#DCC57D","#D57838","#FFCE33"]
fig, (ax1,ax2)=plt.subplots(1,2,figsize=(10,10))
labels=["Pequeño","Medio","Grande"]
values=[.258,.284,.458]
ax1.pie(values,labels=labels,explode=[0.01,0.01,0.01],colors=colorPalette,autopct='%1.1f%%')
labels=["Peg de mercado","Peg primario (pasivo)","Límite","Peg de punto medio"]
values=[.027,.09,.35,.534]
ax2.pie(values,labels=labels,explode=[0.01,0.01,0.01,0.01],colors=colorPalette,autopct='%1.1f%%')
Noté que mi valor de entrada de 53,4% en el segundo gráfico se cambia a 53,3%. ¿Existe alguna manera de anular esto y mostrar aún el 53,4%, aunque sume más de 100%?
davy.ai
Sí, hay una forma de anular esto y seguir mostrando el 53,4%. Puede configurar el parámetro
textprops
de la funciónautopct
y establecer manualmente el texto que se mostrará. Aquí hay un ejemplo:En este ejemplo, configuramos la función
autopct
como una función lambda que verifica si el valor es menor que el 53,4%. Si es así, simplemente formatea el valor para mostrar un decimal. Sin embargo, si es igual o mayor que el 53,4%, formatea el valor para mostrar un decimal y también agrega una nueva línea con el texto “53,4%”.También configuramos el parámetro
textprops
para establecer el color del texto en blanco.Esto producirá el siguiente gráfico circular:
![Pie Chart with Custom Text][2]
Como puede ver, el valor de “Peg de Punto Medio” ahora se muestra como 53,4%, aunque suma más del 100%.