ggplot2 플롯 영역 여백?


88

플롯 제목과 그 아래의 플롯 영역 (데이터가있는 상자) 사이의 공간을 쉽게 늘릴 수있는 방법이 있습니까? 마찬가지로 축 제목과 축 레이블 사이에 약간의 공간이있는 것이 좋습니다.

즉, "제목을 약간 위로, y 축 제목을 약간 왼쪽, x 축 제목을 약간 아래로 이동"하는 방법이 있습니까?


1
"\n"제목에 일부 문자를 붙여 넣어 새 줄을 강제 할 수 있습니다 .
joran

답변:


118

plot.marginin으로 플롯 여백을 조정 theme()한 다음 vjust인수로 축 레이블과 제목을 이동할 수 있습니다 element_text(). 예 :

library(ggplot2)
library(grid)
qplot(rnorm(100)) +
    ggtitle("Title") +
    theme(axis.title.x=element_text(vjust=-2)) +
    theme(axis.title.y=element_text(angle=90, vjust=-0.5)) +
    theme(plot.title=element_text(size=15, vjust=3)) +
    theme(plot.margin = unit(c(1,1,1,1), "cm"))

다음과 같은 것을 줄 것입니다.

여기에 이미지 설명 입력

다른 theme()매개 변수와 해당 인수 에 대한 자세한 정보를 원하면 ?themeR 프롬프트에 입력 하면됩니다.


4
감사! 나는이 주장 grid::units이 작동 하도록 하기 위해 무엇을 제공해야할지 확신하지 못했습니다 plot.margin. 에 길이 -4 숫자를 제공해야합니다 units. 어떤 식 으로든 재활용되지 않는다는 x주장이 너무 나쁘다 units. 또한, 당신은 아마 이미 알고 있지만, 가치가 주목할 / 업데이트 opts해주기로 대체 ggplot2 (0.9.2+)의 최신 버전에서 더 이상 사용되지 않습니다 theme,있는 그대로 theme_text지금 대체 element_text.
Paul McMurdie 2012 년

45
다른 사람이 그것을 찾는 시간을 절약하고 싶다면 plot.margin의 간선 순서는 unit (c (top, right, bottom, left), units)입니다.
mightypile

20
@generic_user : 아마도 여기에 언급 된 것처럼 기억하기 더 쉬울 것입니다 .t, r, b, l (To remember order, think trouble).
Tung

3
다른 방법으로는 위에서 단지 시계 방향으로의 ... 기억 : top, right, bottom, left.
spops

1
또한 :margin(t, r, l, b)
Brian D
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.