Как мы можем изменить ось Y на проценты, как на рисунке? Я могу изменить диапазон оси Y, но не могу сделать это до процентов.
108
Использование:
+ scale_y_continuous(labels = scales::percent)
Или, чтобы указать параметры форматирования процентов:
+ scale_y_continuous(labels = scales::percent_format(accuracy = 1))
(команда labels = percent
устарела с версии 2.2.1 ggplot2)
library(scales)
.scales::percent(accuracy = 1)
это не работает, заключается в том, что*_format()
версии создают функцию, а не ... все, чтоpercent()
создает, это правильно?В принципе, в
labels
параметр можно передать любую функцию переформатирования :Или
Воспроизводимый пример:
источник
ggplot2
иscales
пакеты могут это сделать:Похоже, что
stat()
опция была отключена, и появилось сообщение об ошибке. Попробуй это:источник
Заимствованное из @Deena выше, эта модификация функции для меток более универсальна, чем вы могли подумать. Например, у меня был график ggplot, где знаменатель подсчитанных переменных был равен 140. Я использовал ее пример таким образом:
Это позволило мне получить мои проценты в знаменателе 140, а затем разбить шкалу с шагом 25%, а не странными числами, которые она использовала по умолчанию. Ключевым моментом здесь является то, что разрывы шкалы по-прежнему устанавливаются исходным количеством, а не вашими процентами. Следовательно, разрывы должны быть от нуля до знаменателя, а третий аргумент в «разрывах» должен быть знаменателем, деленным на сколько угодно разрывов метки (например, 140 * 0,25 = 35).
источник