2016-10-13 3 views
0

R 패키지의 함수에 의해 반환 된 ggplot 객체가 있습니다. 필자는 플롯하기 전에이 플롯에 몇 가지 요소를 추가하려고합니다. 그러나 나는 그 한계를 모른다. 플롯 한도를 찾기 위해 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

감사합니다. 그게 작동하지 않았지만 다음과 같은 나를 이끌었다 : $ 패널 $ 범위 [[1]] [C ("x.range", "y.range")] – tedtoal

+0

아마 다른 ggplot2 버전, 자유롭게 편집 할 수 있습니다. – baptiste