Расположение значений столбчатой диаграммы в центре с помощью ggplot2
1262 просмотра
1 ответ
Я создал диаграмму с накоплением и гранил с использованием двух переменных. Я не могу расположить значения в виде диаграммы в середине, они либо появляются в крайних точках, либо перекрываются. Ожидаемое изображение следующее:
Я вставил скрипт ниже. Любая помощь будет оценена.
library(dplyr)
library(reshape2)
library(ggplot2)
year<-c("2000","2000","2010","2010","2000","2000","2010","2010")
area<-c("Rural","Rural","Rural","Rural","Urban","Urban","Urban","Urban")
sex<-c("Male","Female","Male","Female","Male","Female","Male","Female")
city<-c(58,61,74,65,51,55,81,54)`
village<-c(29,30,20,18,42,40,14,29)
town<-c(13,9,6,17,7,5,5,17)
data<-cbind.data.frame(year,area,sex,city,village,town)
dre<-melt(data,id.vars = c("year","area","sex"))
dre <- arrange(dre,year,area,sex,variable) %>%
mutate(pos = cumsum(value) - (0.5 * value))
a <- ggplot(dre,aes(factor(sex),value,fill=variable)) +
geom_bar(stat='identity',position="stack")
b <- a +
facet_wrap(factor(year)~area)
c <- b +
geom_text(aes(label=paste0(value,"%"),y=pos),
position="stack",size=2,hjust=0.85,color="black")
d <- c +
coord_flip() +
theme_bw() +
scale_fill_brewer()
print(d)
Автор: Vinay vinay
Источник
Размещён: 12.11.2019 09:41
Ответы (1)
6 плюса
Вам больше не нужно вычислять переменную позиции. Начиная с ggplot2_2.2.0, текст может быть сложен и центрирован через position_stack
.
Соответствующая строка geom_text
кода ниже. Обратите внимание, что мне вообще не нужно использовать переменную pos для размещения текста.
geom_text(aes(label=paste0(value,"%")),
position = position_stack(vjust = .5), size = 2, color = "black")
Код для сюжета и полученный график:
ggplot(dre, aes(factor(sex), value, fill = variable)) +
geom_col() +
facet_wrap(factor(year)~area) +
geom_text(aes(label = paste0(value,"%")),
position = position_stack(vjust = .5), size = 2, color = "black") +
coord_flip() +
theme_bw() +
scale_fill_brewer()
Автор: aosmith
Размещён: 18.11.2016 08:00
Вопросы из категории :
- r Как получить доступ к последнему значению в векторе?
- r Пакеты оптимизации для R
- r Есть ли у R такие операторские операции, как Perl qw ()?
- r Библиотека / инструмент для рисования тройных / треугольных графиков
- r Участки без заголовков / надписей в R
- ggplot2 Графики рядом с ggplot2
- ggplot2 Поворотные и интервальные метки на оси ggplot2
- ggplot2 используя stat_function и facet_wrap вместе в ggplot2 в R
- ggplot2 Boxplot schmoxplot: Как изобразить средние и стандартные ошибки, обусловленные коэффициентом R?
- ggplot2 Установите количество столбцов (или строк) в граненом графике
- geom-bar Упорядочить категорические данные в гистограмме с накоплением с помощью ggplot2
- geom-bar ggplot bar plot с фасет-зависимым порядком категорий
- geom-bar Гистограмма с накоплением
- geom-bar Как добавить пользовательские метки из набора данных поверх столбцов, используя ggplot / geom_bar в R?
- geom-bar Сложенный порядок столбцов ggplot завершается с неизвестной функцией desc
- geom-text размещение меток на geom_bar
- geom-text Автоматически изменять позиции меток с помощью geom_text, когда они перекрывают друг друга
- geom-text Отрегулировать положение меток вертикальных линий в ggplot?
- geom-text метки ggplot в позиции гистограммы
- geom-text ggplot2 facet_wrap geom_text не принимает значения даты