Привет. Я хочу динамически установить ограничения на графике, чтобы убедиться, что имеется разрыв над верхней точкой данных.Он должен быть динамичным, так как я хочу выполнить все форматирование на базовом графике, но затем иметь возможность добавлять разные данные без необходимости изменения жестко закодированных границ осей или иметь целый ряд различных сценариев, в которых я должен вызывать, чтобы сначала получить ограниченияи затем установите их (например, как показано в этом вопросе ).Я знаю, что мог бы обернуть это в свою собственную функцию, но я надеюсь, что есть способ по умолчанию.
Я использую scales::pretty_breaks
, чтобы сделать перерывы в scale_y_continuous
.В идеале я хотел бы иметь возможность установить что-то вроде scale_y_continuous( breaks=pretty_breaks(), limits = range(pretty_breaks()))
, но это не работает, и я предполагаю, что pretty_breaks работает только по умолчанию в вызове breaks.
library(ggplot2)
library(scales)
set.seed(1)
rdat <- data.frame(x = 1:1000,y=runif(1000,min = 0, max = 107))
ggplot(rdat, aes(x =x, y = y))+geom_point()+
scale_y_continuous( breaks=pretty_breaks())
Я могу добавить это:
ggplot(rdat, aes(x =x, y = y))+geom_point()+
scale_y_continuous( breaks=pretty_breaks(), limits = range(pretty_breaks()(rdat$y)))
, который работает, но требует от меня жесткого кодирования меток data.frame и y, которых я пытаюсь избежать.
Итак, вместо этого:
Я хочу это: