Динамически использовать диапазон красивых разрывов, чтобы установить ограничения в ggplot - PullRequest
0 голосов
/ 13 декабря 2018

Привет. Я хочу динамически установить ограничения на графике, чтобы убедиться, что имеется разрыв над верхней точкой данных.Он должен быть динамичным, так как я хочу выполнить все форматирование на базовом графике, но затем иметь возможность добавлять разные данные без необходимости изменения жестко закодированных границ осей или иметь целый ряд различных сценариев, в которых я должен вызывать, чтобы сначала получить ограниченияи затем установите их (например, как показано в этом вопросе ).Я знаю, что мог бы обернуть это в свою собственную функцию, но я надеюсь, что есть способ по умолчанию.

Я использую 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, которых я пытаюсь избежать.

Итак, вместо этого: Instead of this

Я хочу это: I want this version

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...