Esta división ha sido analizado por especialistas para que tengas la garantía de la veracidad de nuestra esta división.
Solución:
autopct
le permite mostrar el valor porcentual usando Python string formato Por ejemplo, si autopct='%.2f'
luego para cada porción de pastel, el formato string es '%.2f'
y el valor porcentual numérico para esa cuña es pct
por lo que la etiqueta de la cuña se establece en el string '%.2f'%pct
.
import matplotlib.pyplot as plt
plt.figure()
values = [3, 12, 5, 8]
labels = ['a', 'b', 'c', 'd']
plt.pie(values, labels=labels, autopct='%.2f')
plt.show()
rendimientos
Puede hacer cosas más sofisticadas proporcionando un invocable a autopct
. Para mostrar tanto el valor porcentual como el valor original, puede hacer lo siguiente:
import matplotlib.pyplot as plt
# make the pie circular by setting the aspect ratio to 1
plt.figure(figsize=plt.figaspect(1))
values = [3, 12, 5, 8]
labels = ['a', 'b', 'c', 'd']
def make_autopct(values):
def my_autopct(pct):
total = sum(values)
val = int(round(pct*total/100.0))
return 'p:.2f% (v:d)'.format(p=pct,v=val)
return my_autopct
plt.pie(values, labels=labels, autopct=make_autopct(values))
plt.show()
Nuevamente, para cada porción de pastel, matplotlib proporciona el valor porcentual pct
como argumento, aunque esta vez se envía como argumento a la función my_autopct
. La etiqueta de la cuña se establece en my_autopct(pct)
.
Tu puedes hacer:
plt.pie(values, labels=labels, autopct=lambda p : ':.2f% (:,.0f)'.format(p,p * sum(values)/100))
val=int(pct*total/100.0)
debiera ser
val=int((pct*total/100.0)+0.5)
para evitar errores de redondeo.
Te mostramos reseñas y calificaciones
Si te ha resultado de provecho este artículo, sería de mucha ayuda si lo compartes con otros juniors de esta manera nos ayudas a dar difusión a esta información.