2016-10-13 4 views
0

У меня есть объект ggplot, возвращаемый функцией в пакете R. Я хочу добавить некоторые элементы к этому сюжету, прежде чем строить его. Но я не знаю границ сюжета. Есть ли способ запросить объект ggplot, чтобы найти пределы графика? Вообще-то, что мне действительно хотелось бы сделать, это просто установить новые ограничения для последующего построения графика, но я понимаю, что это невозможно, основываясь на обсуждении невозможности построения данных против двух разных осей y.ggplot запрос или лимит графика изменения

Например, скажем, я хочу построить небольшой прямоугольник в нижнем левом углу участка, но не зная пределы сюжета, я не знаю, куда его деть:

p = function() return(ggplot() + xlim(-2, 5) + ylim(-3, 5) + 
    geom_rect(mapping=aes(xmin=1, xmax=2, ymin=1, ymax=2))) 
gp = p() 
gp = gp + geom_rect(mapping=aes(xmin=0, ymin=0, xmax=0.5, ymax=0.5)) 
print(gp) 
+0

Пожалуйста добавьте воспроизводимый пример. Некоторые идеи о том, как это сделать, показаны здесь (http://stackoverflow.com/questions/5963269/how-to-make-a-great-r-reproducible-example). – aosmith

+0

«Есть ли способ запросить объект ggplot, чтобы найти пределы графика?» Конечно np. Дайте мне воспроизводимый пример, и я покажу вам. –

ответ

0
ggplot_build(p)$layout$panel_ranges[[1]][c("x.range","y.range")] 
+0

Спасибо. Это не сработало, но привело меня к следующему: ggplot_build (gp) $ panel $ range [[1]] [c ("x.range", "y.range")] – tedtoal

+0

, вероятно, другой ggplot2 версии, не стесняйтесь редактировать – baptiste

Смежные вопросы