Удалить границу полосы фона на панели
У меня есть следующий тип сюжета и вы хотите, чтобы каждый текст полосы над отдельным полем фасета был "типом", но у него не было серого фона по умолчанию и черная рамка вокруг strip.background
. Я цвет его белый, который близок к тому, что я хочу, но хотел бы, чтобы нижний край strip.background
или верхнего края panel.border
был черным.
![enter image description here]()
library(ggplot2)
ggplot(mtcars, aes(mpg, hp)) + geom_point() +
facet_wrap(~carb, ncol = 3) + theme_bw() +
theme(panel.grid.major = element_blank(),
panel.grid.minor = element_blank(),
strip.background = element_rect(colour="white", fill="white"),
panel.border = element_rect(colour = "black"))
Ответы
Ответ 1
Если вы установите element_blank()
для strip.background
и сохраните element_rect(colour="black")
для panel.border
, то верхний край panel.border
будет черным.
ggplot(mtcars, aes(mpg, hp)) + geom_point() +
facet_wrap(~carb, ncol = 3) + theme_bw() +
theme(panel.grid.major = element_blank(),
panel.grid.minor = element_blank(),
strip.background = element_blank(),
panel.border = element_rect(colour = "black"))
![enter image description here]()
Ответ 2
Настройка panel.border
может охватывать ваш график, если вы также не добавили fill=NA
в panel.border
:
theme(panel.border = element_rect(fill = NA, colour = "black"))
Можно также использовать:
theme(panel.background = element_rect(fill = NA, color = "black")
источник (раздел "Атрибуты панели" )
Ответ 3
Вы можете попробовать:
strip.background = element_rect(colour=NA, fill=NA),
panel.border = element_rect(fill = NA, color = "black"))