Я не могу получить точный вид, на который вы ссылались, но, возможно, некоторые из этих идей вам пригодятся.
Вы можете сделать указанное значение незначительным, а добавить строку только к незначительным ( здесь я не смог выбрать точное значение 20, поскольку это был уже серьезный перерыв, но, возможно, вы можете поиграть с числами, чтобы получить что-то, что вам нравится):
ggplot(data = ggdata) +
geom_jitter(aes(x = x, y = y)) +
scale_y_continuous(trans = transformation, minor_breaks=20.05,breaks = c(0, 10,20, 30, 50, 70, 90, 110))+
theme(
panel.grid.minor.y = element_line(1)
)
Другой вариант - изменить сами метки. Здесь я выделил ()
значение 20, но вы можете добавить и другие символы:
ggplot(data = ggdata) +
geom_jitter(aes(x = x, y = y)) +
scale_y_continuous(trans = transformation, minor_breaks = c(0, 10, 20, 30, 50, 70, 90, 110),
breaks = c(0, 10, 20, 30, 50, 70, 90, 110), labels=c(0, 10, expression(bold(("20"))), 30, 50, 70, 90, 110))
Вы можете добавить отрезок графика, который здесь не самый красивый вариант, поскольку ось x не является непрерывной, но, возможно, это будет стимулировать идеи:
ggplot(data = ggdata) +
geom_jitter(aes(x = x, y = y)) +
scale_y_continuous(trans = transformation, breaks = c(0, 10, 20, 30, 50, 70, 90, 110))+
geom_segment(aes(x=-.01,y=19.5,xend=.01,yend=20.5),size=1.5)
Возможно, вы также можете просто затенить нижнюю (или верхнюю) часть вашего графика:
ggplot(data = ggdata,aes(x = x, y = y)) +
geom_jitter() +
scale_y_continuous(trans = transformation,breaks = c(0, 10,20, 30, 50, 70, 90, 110))+
annotate("rect", xmin = .4, xmax = 1.6, ymin = 0, ymax = 21,
alpha = .2)