ggplot에서 스트립 라벨의 위치를 ​​위에서 아래로 변경할 수 있습니까?


80

이것이 데이터 시각화 문제가 아니라는 것을 알고 있지만 사장님이 요청했기 때문에 가능한지 파악해야합니다.

감사!



11
ggplot2는 강력하지만 독단적 인 소프트웨어입니다. 때로는 ggplot 방식이거나 전혀 방식이 아닙니다.
Sharpie

동의, 그리드를 사용하여 약간의 수정이 필요합니다. 또 다른 가파른 학습 곡선
lokheart

필요한 그리드 해커를 제공하는 stackoverflow.com/questions/10058839/… 의 댓글에 링크 된 포럼 게시물을 참조하십시오
Ben Bolker

1
수락 된 답변을 수락하지 않으시겠습니까? 더 이상 정확하지 않지만 질문을 검색 할 때이 답변이 가장 많이 사용됩니다.
Konrad Rudolph

답변:


97

2016 년 검색하는 사람들을위한 답변입니다.

현재 ggplot22.0의 스위치 인수는 이를 위해 할 facet_gridfacet_wrap:

기본적으로 레이블은 플롯의 상단과 오른쪽에 표시됩니다. "x"인 경우 상단 레이블이 하단에 표시됩니다. "y"이면 오른쪽 레이블이 왼쪽에 표시됩니다. "둘 다"로 설정할 수도 있습니다.

ggplot(...) + ... + facet_grid(facets, switch="both")

ggplot2 2.2.0 부터

이제 facet_wrap()strip.position 인수 를 사용하여 스트립을 자유롭게 배치 할 수 있습니다 (는 더 이상 사용되지 않음 switch).

현재 워드 프로세서, 2.1 여전히 있지만 strip.position되고 문서화 dev에 문서에.

기본적으로 레이블은 플롯의 맨 위에 표시됩니다. strip.position을 사용하면 설정하여 네면 중 하나에 레이블을 배치 할 수 있습니다.strip.position = c("top", "bottom", "left", "right")

ggplot(...) + ... + facet_wrap(facets, strip.position="right")

2
2020 갱신 - ggplot 3.3 - facet_grid 아직 사용 switch 의 인수 x, y또는 both.
nniloc

10

이제를 사용할 수 facet_wrap(~var, strip.position = "bottom")있지만 어떤 이유로 인해 레이블이 아래가 아닌 축 눈금 표시 레이블 위에 위치합니다 (내 그래프의 작은 부분에 대한 스크린 샷에서 볼 수 있음).

그래프 스크린 샷

아래 레이블을 원하면이 작업을 수행해야합니다.

ggplot(zzz, aes(x = c1, y = c2)) +
  facet_wrap(~ gp, scales = "free", nrow = 3, strip.position = "bottom") +
  geom_point() +
  theme(
    aspect.ratio = 1,
    strip.background = element_blank(),
    strip.placement = "outside"
  )

여기에 표시된대로 : https://github.com/tidyverse/ggplot2/issues/2622


-2

대답은 그렇습니다!

theme(strip.text=element_text(vjust=-10))

숫자 -10은 플롯에서 사용하는 스케일과 단위에 의해 결정됩니다.


1
중 하나를 나에게 아무 효과가 없다
geotheory

이것은 차트에서 스트립의 위치가 아닌 텍스트 만 조정합니다.
테일러 화이트

1
나에게도 효과가 없습니다 switch. 위에서 지정한 인수를 사용하는 것이 좋습니다 . OP에 구체적으로 응답하려면 switch = "x"레이블이 플롯의 맨 아래로 이동합니다.
EcologyTom 2018

감사합니다 ! 귀하의 솔루션은 내가 가진 다른 문제를 해결하는 데 도움이되었습니다 : 레이블을 왼쪽 정렬 (vjust 대신 hjust 사용).
rvezy

-5

테마 사용을 따르려면 :

theme (strip.text = element_text (vjust = -10))

라벨에 모두 동일한 수의 캐리지 리턴이 있는지 확인하십시오.

Label /n Facet /n One와 다른 속도로 vjust됩니다 Label /n Facet Two.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.