동일한 x 축을 공유하지만 y 축의 크기가 몇 배 정도 다른 여러 데이터 세트가 있습니다. 이러한 이유 때문에 y 축의 레이블은 가변 크기이고 ggplot을 사용하여 플로팅하면 x 축의 정렬이 잘못됩니다. 내 플롯을 비교 가능하게 만들려면 모든 x 축이 최종 플롯에서 길이가 같아야합니다. 이것은 매우 간단한 절차로 facetting and grids can be used()입니다. 그러나이 절차는 모든 플롯을 집계하여 동일한 png 또는 eps 파일로 보내는 것을 의미합니다. 몇 가지 이유 (게시물의 범위를 벗어나는)는 각 플롯을 자체 PNG에 저장합니다. 따라서 그림을 비교할 수있게 유지하려면 이미지의 왼쪽 경계와 y 축을 표시하는 선 사이에 동일한 공간을 갖도록해야합니다.별도의 플롯의 y 레이블 왼쪽 정렬 (ggplot)
내 생각 엔 공백으로 레이블을 "패딩"하여 모두 동일한 문자 수를 사용하여 문제를 해결했지만 추측하지 못했습니다. 나는 point.margin을 아무 쓸모없이 변화 시키려고 시도했다. 누군가 이것을 성취하는 방법을 알고 있습니까?
library(stringr)
library(ggplot2)
y1 <- seq(1,100,by=1)
y2 <- seq(1,1000000,by=10000)
x <- seq(1,100,by=1)
data <- data.frame(x,y1,y2)
m1 <- ggplot(data=data,aes(x=x,y=y1)) + geom_line() +
scale_y_continuous(labels=function(label) str_pad(label,width=20,side="right"))
m11 <- m1 + theme_bw() + theme(panel.border = element_blank(), panel.grid.major= element_blank(), panel.grid.minor= element_blank(),axis.line=element_line(colour="black"),axis.text.x=element_text(size=12),axis.text.y=element_text(size=12))
m2 <- ggplot(data=data,aes(x=x,y=y2)) + geom_line() +
scale_y_continuous(labels=function(label) str_pad(label,width=20,side="right"))
m21 <- m2 + theme_bw() + theme(panel.border = element_blank(), panel.grid.major= element_blank(), panel.grid.minor= element_blank(),axis.line=element_line(colour="black"),axis.text.x=element_text(size=12),axis.text.y=element_text(size=12))
png("m1.png")
m11
dev.off()
png("m2.png")
m21
dev.off()
['set_panel_size' (http://stackoverflow.com/questions/32580946/setting-absolute-size-of-facets-in-ggplot2) – baptiste
를 검색하려고 @ baptiste 나는 당신의 제안을 시도했지만 아직 성공하지 못했습니다. 위의 편집을 확인하십시오. – j91