Me gustaría crear un gráfico circular matplotlib que tenga el valor de cada cuña escrito en la parte superior de la cuña.¿Cómo uso matplotlib autopct?
El documentation sugiere que debo usar autopct
para hacer esto.
autopct: [Ninguna | formato de cadena | función de formato] Si no es None, es una cadena o función utilizada para etiquetar las cuñas con su valor numérico. La etiqueta será colocada dentro de la cuña. Si es una cadena de formato , la etiqueta será fmt% pct. Si es una función, se llamará a .
Lamentablemente, no estoy seguro de qué se supone que es esta cadena de formato o función de formato.
Usando este ejemplo básico a continuación, ¿cómo puedo mostrar cada valor numérico en la parte superior de su cuña?
plt.figure()
values = [3, 12, 5, 8]
labels = ['a', 'b', 'c', 'd']
plt.pie(values, labels=labels) #autopct??
plt.show()
Genial. Esto está claro ahora. Muchas gracias por su respuesta. – Kim
¿Cómo se puede suministrar un parámetro a la función autopct personalizada? Es decir, si desea enviar la variable 'values' a' my_autopct'. – cosmosa
@ cosmos1990: 'plt.pie' espera que la función' autopct' sea una función de una variable , el valor porcentual, 'pct'. Sin embargo, puede hacer [a closure] (http://effbot.org/zone/closure.htm) - "una función que puede referirse a entornos que ya no están activos". He editado la publicación anterior para mostrar cómo. Ahora 'values' se pasa a' make_autopct', y 'make_autopct (values)' devuelve * el cierre * 'my_autopct'. Cuando se invoca 'my_autopct', buscará' values' en [el alcance adjunto] (http://stackoverflow.com/questions/291978/short-description-of-python-scoping-rules) de 'make_autopct'. – unutbu