2014-01-22 1 views
3

ggplot2의 간단한 분산 플롯을 pdf 파일로 내보내는 데 문제가 있습니다. 특히 틱 마크 길이를 음수 값 (필수)으로 설정하면 틱 마크 레이블이 축선과 병합됩니다 (아래 그림 참조).음수 눈금 마크 길이 (ggplot2)로 플롯을 내보낼 때 축 레이블이 축으로 실행됩니다.

Problem tick mark labels

그림은 rstudio의 플롯 창에 정상적으로 나타납니다하지만 난 PDF로 내보낼 때 문제가 발생합니다. vjustaxis.text.x으로 변경하는 것은 전혀 도움이되지 않는 것 같습니다. 나는 또한 플롯 마진을 조작 해 보았습니다.

그런 상황에서 축에서 레이블을 멀리 이동시키는 방법을 알고있는 사람이 있습니까?

아래 코드는 문제를 재현해야합니다.

data = data.frame(xvar = seq(1:20), yvar = seq(1:20), labvar = rep(c("A", "B"), 10)) 

require(ggplot2) 
require(gridExtra) 
p <- ggplot(data = data, aes(x = xvar, y = yvar)) + geom_point() + 
    facet_wrap(~labvar, scales = "fixed") +  
    theme_classic()+ 
    theme(axis.ticks.length=unit(-0.1, "cm"), 
    axis.text.x=element_text(vjust = 0)) 

p 
+2

Hadley의 이전 댓글 (https://groups.google.com/forum/#!topic/ggplot2/C0iGwoJy-Pw)을 참조하십시오. 이것이 'vjust'이 작동하지 않는 이유입니다. 'unit (-0.05, "cm")'이 적당합니까? 그것은 나를 위해 중첩을 수정. – tonytonov

+0

@tonytonov 링크, 흥미로운 토론 주셔서 감사합니다. 진드기의 길이를 줄이는 것은 일을하는 한 가지 방법 인 것처럼 보입니다. –

답변

2

axis.ticks.margin를 사용해보십시오 :

p + theme(axis.ticks.margin = unit(5, "lines")) 

enter image description here


내가 ?theme에 대한 설명서는 이제 모든 테마 요소와 그들이 수행의 목록이 포함되어 있음을 알 수 있습니다.

+0

그건 정확히 내가 한 것입니다. 내가 문서에서 그것을 놓친 방법을 모르지만 고마워. –