Como podemos mudar o eixo y para porcentagem como a figura? Posso alterar o intervalo do eixo y, mas não consigo chegar à porcentagem.
107
Usar:
+ scale_y_continuous(labels = scales::percent)
Ou, para especificar parâmetros de formatação para a porcentagem:
+ scale_y_continuous(labels = scales::percent_format(accuracy = 1))
(o comando labels = percent
está obsoleto desde a versão 2.2.1 do ggplot2)
library(scales)
para isso.scales::percent(accuracy = 1)
não funcionar é porque as*_format()
versões criam uma função em vez de ... tudo o quepercent()
cria sozinho, correto?Em princípio, você pode passar qualquer função de reformatação para o
labels
parâmetro:Ou
Exemplo reproduzível:
fonte
ggplot2
e osscales
pacotes podem fazer isso:Parece que a
stat()
opção foi retirada, causando a mensagem de erro. Experimente isto:fonte
Emprestado de @Deena acima, essa modificação de função para rótulos é mais versátil do que você pode imaginar. Por exemplo, eu tinha um ggplot em que o denominador das variáveis contadas era 140. Usei o exemplo dela assim:
Isso me permitiu obter minhas porcentagens no denominador 140 e, em seguida, quebrar a escala em incrementos de 25%, em vez dos números estranhos que o padrão. A chave aqui é que as quebras de escala ainda são definidas pela contagem original, não por suas porcentagens. Portanto, as quebras devem ser de zero ao valor do denominador, com o terceiro argumento em "quebras" sendo o denominador dividido por quantas quebras de rótulo você deseja (por exemplo, 140 * 0,25 = 35).
fonte