Я надеюсь, есть ли способ удалить пробелы на одной стороне графика панели (созданного facet_wrap
), добавив «//» на оси x. Ниже приведены примерные данные и код:
df <- data.frame(
condition = c("cond1","cond2","cond3"),
measure = c("type1","type2"),
value = rep(NA, 6)
)
# all type 1 measure values are between -0.5 and 0.5
# all type 2 measure values are between 0.5 and 2
df[df$measure=="type1",]$value <- runif(3, min=-0.5, max=0.5)
df[df$measure=="type2",]$value <- runif(3, min= 1.5, max=2.0)
# both panels should have same axis tick intervals
custom_breaks = function(x){
seq(round(min(x), 2), round(max(x), 2), 0.2)
}
# create a panel plot with vertical line at y=0 for both panels
ggplot(df, aes(x=condition, y=value, color=measure)) +
geom_point() +
geom_hline(aes(yintercept=0), color="grey") +
scale_y_continuous(breaks=custom_breaks) +
facet_wrap(~measure, scales="free_x") +
coord_flip() +
theme_bw() +
theme(panel.grid.major=element_blank(), panel.grid.minor=element_blank())
Этот код возвращает график ниже:
Поскольку значения для типа 2 (правая панель) далеки от нуля, добавление вертикальной линии при y = 0 приводит к появлению большого количества пробелов. Мне интересно, есть ли способ поставить "//" на оси x на правой панели после 0 и перейти прямо к 1,5, чтобы не было тонны пустого пустого пространства. Любая помощь будет принята с благодарностью!