[r] ggplot에서 스트립 라벨의 위치를 위에서 아래로 변경할 수 있습니까?
이것이 데이터 시각화 문제가 아니라는 것을 알고 있지만 사장님이 요청했기 때문에 가능한지 파악해야합니다.
감사!
답변
2016 년 검색하는 사람들을위한 답변입니다.
현재 ggplot2
2.0의 스위치 인수는 이를 위해 할 facet_grid
나 facet_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
.