2014-10-06 2 views
3

나는 일괄 처리 모드에서 플롯을 만들고 있습니다. 그래프를 검토하는 동안 관심있는 serval 영역을 확대하는 것이 유용합니다. 플롯이 만들어진 후 축을 확대/축소하고 원래의 축 범위로 복원하는 방법이 있습니까?만들기/검토 후 확대 ggplot

답변, 피드백과 의견 ....

set.seed(5) 
gplist<-list() 
for (i in seq(1,29)) { 
    mod_evt = paste("plot",i) 
    df <- data.frame(x=runif(10), y=runif(10)) 
    gp <- ggplot(df,aes(x=x,y=y)) + geom_line() + geom_point() + 
    labs(title = mod_evt, x="X", y="Y") 
    print(gp) 
    gplist[[i]] <- gp 
} 

을 통합 한 후 나는 27

print(gplist[[27]] + coord_cartesian(xlim= c(.5,.6))) 

이 플롯을 재현 음모에 X = 0.52 근처에 그 딥을 확대하고 싶습니다 x 축은 .5와 .6 사이에서 확대되었습니다.

+0

의 목록이있는 경우, 예. R 데이터 파일에서 다시로드하고 'scale_' 매개 변수를 변경할 수 있습니다. – hrbrmstr

+0

좋아, 할거야 ... 고마워. – user3969377

+0

1. 더 좋은 형태는'gplist <- c (gplist, gp) '대신'gplist [[i]] <- gp'를하는 것입니다. – Gregor

답변

7

coord_cartesian 사용 (또는 적합한 coord_xxxx)

ex <- ggplot(mtcars, aes(x=mpg,y=drat, colour=factor(cyl))) + geom_point() 

ex 

enter image description here

# plot with "zoomed region" 
ex + coord_cartesian(xlim = c(10,25),ylim= c(3,5)) 

enter image description here

# the original still exists 
ex 

enter image description here

당신이 ggplot 객체 (뿐 아니라 플롯)을 저장할 경우 플롯

plot_list <- list(ggplot(mtcars, aes(x=mpg,y=drat, colour=factor(cyl))) + geom_point(), 
        ggplot(mtcars, aes(x=mpg,y=drat, colour=factor(am))) + geom_point()) 
zoomed <- lapply(plot_list, function(p) p + coord_cartesian(xlim= c(15,30))) 


# or for a single plot 
plot_list[[1]] + coord_cartesian(xlim= c(15,30)) 
+0

나는 루프에서 플롯을 생성했습니다. 벡터의 인덱스에 따라 플롯을 저장하는 데 사용할 수있는 변수 유형은 무엇입니까? – user3969377

+2

은 목록을 플롯에 저장합니다. –

+0

user3969377 @ - I가 매우 간단한 예를 ... – mnel