Я сделал граненый график, используя ggplot
, а затем попытался использовать функцию annotate
, чтобы создать выделенную серым цветом область только на одной конкретной панели графика.
Я попытался адаптировать маркировкуметод из этого вопроса, но я не смог заставить его работать: Как добавить аннотацию к каждому фасету
Вот воспроизводимый пример:
ggplot(iris, aes(x = Sepal.Length))+
geom_point(aes(y = Petal.Length))+
facet_grid(Species~.)+
annotate(geom = 'rect', xmin = 6, xmax = 6.5, ymin= 0, ymax= Inf,
fill = 'grey20', alpha = 0.2)
output:
Я хочу, чтобы серая подсветка появлялась только на фасете versicolor
, а не на каждом фасете.
РЕДАКТИРОВАТЬ
Как предложил пользователь @ user11362344, я проверяю его показания на использование geom_rect()
и добавляю к коду вместо annotate()
и WORKED VERY WELL! :
ggplot(data_2, aes(x = Sepal.Length))+
geom_point(aes(y = Petal.Length))+
facet_grid(Species~.)+
geom_rect(data=data.frame(Species='versicolor'), inherit.aes=F,
xmin = 6, xmax = 6.5, ymin = 0, ymax = Inf, fill = 'grey20', alpha = 0.2)
вывод:
Спасибо всем за помощь!И особенно спасибо за @ user11362344!