Tengo una trama existente que se creó con pandas como este:
df['myvar'].plot(kind='bar')
El eje y tiene el formato flotante y quiero cambiar el eje y a porcentajes. Todas las soluciones que encontré usan la sintaxis ax.xyz y solo puedo colocar el código debajo de la línea de arriba que crea el gráfico (no puedo agregar ax = ax a la línea de arriba).
¿Cómo puedo formatear el eje y como porcentajes sin cambiar la línea de arriba?
Aquí está la solución que encontré pero requiere que redefina la trama :
import matplotlib.pyplot as plt
import numpy as np
import matplotlib.ticker as mtick
data = [8,12,15,17,18,18.5]
perc = np.linspace(0,100,len(data))
fig = plt.figure(1, (7,4))
ax = fig.add_subplot(1,1,1)
ax.plot(perc, data)
fmt = '%.0f%%' # Format you want the ticks, e.g. '40%'
xticks = mtick.FormatStrFormatter(fmt)
ax.xaxis.set_major_formatter(xticks)
plt.show()
Enlace a la solución anterior: Pyplot: usando porcentaje en el eje x