Tenho um enredo criado com pandas assim:
df['myvar'].plot(kind='bar')
O eixo y está formatado como flutuante e quero alterar o eixo y para porcentagens. Todas as soluções que encontrei usam a sintaxe ax.xyz e só posso colocar o código abaixo da linha acima que cria o gráfico (não posso adicionar ax = ax à linha acima).
Como posso formatar o eixo y como porcentagens sem alterar a linha acima?
Aqui está a solução que encontrei, mas requer que eu redefina o gráfico :
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()
Link para a solução acima: Pyplot: usando porcentagem no eixo x