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

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

감사!



답변

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")


답변

이제를 사용할 수 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


답변

대답은 그렇습니다!

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

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


답변

테마 사용을 따르려면 :

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

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

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


답변