Как настроить текст на каждой панели? - PullRequest
0 голосов
/ 26 апреля 2019

Я пытаюсь добавить текст к каждому графику со средними значениями каждого распределения. Проблема в том, что я не могу настроить текст так, чтобы он не лежал друг на друге. Я также хотел бы добавить что-то вроде «Male Mean = xxx» и «Female Mean = xxx». Пример данных:

     cost gender year
1 305.665 Female 2013
2 194.380 Female 2013
3 462.490 Female 2013
4 200.430 Female 2013
5 188.570 Female 2013
6 277.245 Female 2013

Код:

library(dplyr)
library(ggplot2)
costs<-read.table("cost_gender_1.txt",header=TRUE)
df<-data.frame(costs)
meanData = df %>% group_by(gender, year) %>% summarise(meancost = mean(cost))
ggplot(df, aes(cost,fill=gender)) +
  geom_histogram(breaks=seq(0,3000,by=30), position = "dodge") +
  facet_wrap(~year) +
  labs(x="Costs",y="Number of Members")+ggtitle("All Tiers") +
  geom_text(data=meanData, aes(label=round(meancost,1), x=2500, y=2300), colour="#F8766D", hjust=1) +
  theme(plot.title = element_text(color="black", size=14, face="bold"))

Расходы:

   gender  year meancost
   <chr>  <int>    <dbl>
 1 Female  2013     506.
 2 Female  2014     502.
 3 Female  2015     471.
 4 Female  2016     526.
 5 Female  2017     507.
 6 Female  2018     530.
 7 Male    2013     492.
 8 Male    2014     481.
 9 Male    2015     449.
10 Male    2016     492.
11 Male    2017     469.
12 Male    2018     488.

и вывод выглядит так:

enter image description here

1 Ответ

1 голос
/ 26 апреля 2019

Одним из решений будет использование, например, position = "stack".В противном случае просто используйте отдельные значения y ....

y = rep(c(2300, 2200), each = n_distinct(meanData$year))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...