Как я могу изменить свой код ggplot2 R, чтобы за графиком появился прямоугольник? - PullRequest
0 голосов
/ 30 октября 2018

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

ggplot(df2, aes(x=zeitpunkt.faktor, y=weight, group=group, color=group)) + 
  geom_errorbar(aes(ymin=weight-sd, ymax=weight+sd), width=.2) + 
  geom_line() + 
  geom_point() + 
  labs(x="Zeit in Wochen", y = "Gewicht in g") + 
  scale_color_brewer(palette="Paired")+ 
  theme_minimal() + 
  labs(colour="Gruppe") + 
  geom_rect(df2, mapping=aes(xmin=0.5, xmax=7.5, ymin=-Inf, ymax=+Inf), fill="yellow", alpha=0.01, inherit.aes = FALSE)

Однако у меня была проблема с тем, что мой прямоугольник лежит над графиком и скрывает его (см. Рисунок 1).

Picture 1: rectangle lies over the graph and hides it, right x-axis)

Я что-то искал (и нашел это здесь: Уточнение кода ggplot R, чтобы за точками построения отображался аннотированный прямоугольник ), изменил порядок и затем получил следующую ошибку «Дискретное значение передано в непрерывный масштаб», поэтому Я больше не вводил свою переменную x как фактор.

ggplot(df3, aes(x=zeitpunkt, y=weight, group=group, color=group)) + 
  geom_rect(df3, mapping=aes(xmin=-0.5, xmax=13, ymin=-Inf, ymax=+Inf), fill="yellow", alpha=0.01, inherit.aes = FALSE) + 
  geom_line() + 
  geom_point() + 
  geom_errorbar(aes(ymin=weight-sd, ymax=weight+sd), width=.2) + 
  labs(x="Zeit in Wochen", y = "Gewicht in g") + 
  scale_color_brewer(palette="Paired")+theme_minimal() + 
  labs(colour="Gruppe")

Теперь прямоугольник подходит, но у меня есть только несколько чисел на оси X и не все, как при использовании коэффициента (см. Рисунок 2).

Picture 2: right rectangle, false x-axis

У меня вопрос: как я могу получить свой прямоугольник за графиком и в то же время ось х, как на первом рисунке?

Спасибо за вашу помощь (и извините за вопрос, я действительно все еще новичок в R)!

...