다음과 같은 방식으로 facet_wrap
in ggplot
으로 생성 된 두 개의 패널 플롯을 정렬하려고합니다 (참고 : 패널 A는 비어 있어야 함).
그러나 패널 B의 y 축이 마지막부터 패널 C의 플롯까지 Y 축과 정확히 정렬되지 않는다는 것을 알았습니다 ( axis = 'lb'
두 측면 의 옵션에도 불구하고 ).
암호
# Load libraries
library(tidyverse)
library(cowplot)
# Create two facetted plots
p1 <- ggplot(data = diamonds, aes(x = carat, y = price)) +
facet_wrap(~ cut, scales = "free_y", ncol = 5) +
geom_point(size=0.5)
p2<- ggplot(data = filter(diamonds, price < 900 & (cut == "Fair" | cut == "Good" )), aes(x = carat, y = price)) +
facet_wrap(~ cut, scales = "free_y", ncol = 2) +
geom_point(size=0.5)
# Create panel A and panel B
a <- plot_grid(NULL, p2, labels = c("A", "B"), axis = 'lb', ncol = 2, rel_widths = c(3,2))
# Create a combined panel of 'a' and panel C
plot_grid(a, p1, labels = c("", "C"), axis = 'lb', ncol = 1, rel_heights = c(1,1))
첫째, Y 축 레이블과 관련이 있다고 생각했지만 레이블을 제거해도 문제가 해결되지 않습니다.
질문
이 동작의 원인은 무엇이며 패키지를 facet_wrap
사용하여으로 생성 된 플롯을 어떻게 정렬 할 수 있습니까 cowplot
?
원하는 출력
패널 B의 y 축을 패널 C의 마지막 두 플롯의 y 축 (즉, 빨간색 선)과 수직으로 정렬하고 싶습니다.
댓글에서 말했듯이 2 대 5 플롯 + Y 축 레이블의 차이로 인해 패싯의 간격과 관련이 있다고 생각합니다. 내가 틀렸을 수 있으므로 (아마도) 더 쉽고 예쁜 솔루션이있을 수 있습니다. 다시 말하지만, 이것은 제안입니다. 당신은 숫자를 가지고 조금 놀 수도 있지만 나는 이것이 꽤 비슷했지만 :
# Create two facetted plots
p1 <- ggplot(data = diamonds, aes(x = carat, y = price)) +
facet_wrap(~ cut, scales = "free_y", ncol = 5) +
geom_point(size=0.5)
p2<- ggplot(data = filter(diamonds, price < 900 & (cut == "Fair" | cut == "Good" )), aes(x = carat, y = price)) +
facet_wrap(~ cut, scales = "free_y", ncol = 2) +
geom_point(size=0.5) +
theme(panel.spacing = unit(1.15, "lines"),
axis.title.y = element_text(margin = margin(t = 0, r = 5, b = 0, l = 0)))
# Create panel A and panel B
a <- plot_grid(NULL, p2, labels = c("A", "B"), axis = 'lb', ncol = 2, rel_widths = c(2.985,2.015))
# Create a combined panel of 'a' and panel C
plot_grid(a, p1, labels = c("", "C"), axis = 'lb', ncol = 1, rel_heights = c(1,1))
그래서 기본적으로 내가 추가 한 것은 하단 플롯의 숫자가 상단 플롯의 숫자보다 더 많은 공간을 차지하기 때문에 p2 그래프 사이에 더 많은 간격을 두는 것입니다 (결국 2 개의 추가 숫자가 있습니다). 나를 위해 오른쪽에있는 두 플롯의 정렬을 수정했습니다. 또한 레이블의 여백을 축으로 늘 렸습니다. 이로 인해 왼쪽 상단 플롯의 정렬이 수정되었습니다. 레이블과 축 사이의 거리를 변경하는 것이 바람직한 지 확실하지 않습니다.
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다