Как отобразить процентную метку в верхней части каждой полосы

Я новичок в RI, я использую ggplot для отображения гистограммы. Я хочу отображать процент верхней части каждого столбца. Я не хочу преобразовывать ось Y в процентную метку. Скорее я хочу отображать частоту по оси Y и в процентах. каждой группы в верхней части бара.

Мой фрагмент данных

И мой желаемый выходной фрагмент

Любая помощь приветствуется


person stackoverflowuser    schedule 19.06.2013    source источник
comment
Используйте geom_text, чтобы сделать это, и, пожалуйста, помогите нам помочь вам, предоставив нам воспроизводимый пример (т. е. код и пример данных), см. stackoverflow.com/questions/5963269/ для получения подробной информации.   -  person Paul Hiemstra    schedule 19.06.2013


Ответы (1)


Такой сюжет можно легко создать с помощью ggplot2.

dat <- data.frame(Frequency = c(10, 5, 97, 47, 50),
                  Fruits = gl(5, 1, labels = c("Mango", "Apple", "Orange", 
                                               "Guava", "Papaya")))


library(ggplot2)
ggplot(dat, aes(x = Fruits, y = Frequency)) +
  geom_bar(stat = "identity") +
  geom_text(aes(label = sprintf("%.2f%%", Frequency/sum(Frequency) * 100)), 
            vjust = -.5)

введите здесь описание изображения

person Sven Hohenstein    schedule 19.06.2013
comment
@ Свен. Я не работал в ggplot. После использования этого пакета я понял, что это тоже легко. - person stackoverflowuser; 19.06.2013
comment
@Sven Можно ли добавить еще один график с теми же уровнями, но другим цветом и процентом, например, количеством цели в этой переменной? - person Sangram; 20.08.2015