У меня есть данные:объект исчезает при добавлении geom_rect
Distance Average Standard.error CI
-300 0.9338864 0.01409078 0.02761792
-150 0.9339457 0.02097350 0.04110805
-50 0.9495119 0.01359277 0.02664183
50 0.8588988 0.03599673 0.07055359
150 0.8531203 0.03047781 0.05973651
300 0.7945437 0.05874081 0.11513199
Я создаю граф в ggplot2 код, который я до сих пор является:
ggplot(data = Test, aes(x = Distance, y = Average))+
geom_errorbar(aes(ymin = Average - CI, ymax = Average + CI), width = 5)+
geom_point(data = Test, aes(x = Distance, y = Average), stat = "identity",
point = 21, fill = "white")+
scale_x_continuous(breaks = seq(-300,300,100))+
scale_y_continuous(breaks = seq(0.6,1,0.05))+
theme(panel.grid.major = element_blank(), panel.grid.minor = element_blank(),
panel.background = element_blank(), axis.line = element_line(colour = "black"),
axis.text.x = element_text(colour = "black"),
axis.text.y = element_text(colour= "black"))
Я хочу, чтобы добавить серый фон на графике от -300 до 0 на оси х, так что я создал этот фрейм данных:
background <- data.frame(xstart = 300, xend = 0, col = "grey")
и затем добавили эту строку в скрипт для графа:
geom_rect(data = background, aes(xmin = xstart, xmax = xend, ymin = -Inf, ymax = Inf,
fill = col), alpha = 0.4)
поэтому код для графа теперь выглядит следующим образом:
ggplot(data = Test, aes(x = Distance, y = Average))+
geom_rect(data = background, aes(xmin = xstart, xmax = xend, ymin = -Inf, ymax = Inf,
fill = col), alpha = 0.4)+
geom_errorbar(aes(ymin = Average - CI, ymax = Average + CI), width = 5)+
geom_point(data = Test, aes(x = Distance, y = Average), stat = "identity",
point = 21, fill = "white")+
scale_x_continuous(breaks = seq(-300,300,100))+
scale_y_continuous(breaks = seq(0.6,1,0.05))+
theme(panel.grid.major = element_blank(), panel.grid.minor = element_blank(),
panel.background = element_blank(), axis.line = element_line(colour = "black"),
axis.text.x = element_text(colour = "black"),
axis.text.y = element_text(colour= "black"))
Однако теперь я получаю сообщение об ошибке при попытке произвести график, который говорит:
Error in eval(expr, envir, enclos) : object 'Distance' not found
График создается штрафом до того, как добавится линия geom_rect
, почему добавляется, что линия делает «расстояние» исчезающим?
Это намного лучший способ сделать это. Я понимаю, что это было немного запутанно. Спасибо. – tom91