패싯 된 ggplot (facet_wrap)을 R의 cowplot과 정렬

user213544

다음과 같은 방식으로 facet_wrapin 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] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

ggplot2의 facet_wrap에 '(all)'패싯을 쉽게 추가 하시겠습니까?

분류에서Dev

ggplot2 facet_wrap의 열에서 여러 패싯 스트립 결합

분류에서Dev

ggplot에서 facet_wrap을 사용하여 패싯별로 다른 알파 값

분류에서Dev

ggplot 패싯 래스터 맵을 단일 맵 (별도의 범례)으로 정렬

분류에서Dev

ggplot2 패싯 사이에 공백과 세 개의 점 (줄임표)을 추가하여 생략 된 패싯을 나타냅니다.

분류에서Dev

패싯 내의 R ggplot2 패싯

분류에서Dev

ggplotly의 긴 facet_wrap 라벨 / 패싯의 스트립과 플롯이 겹칩니다.

분류에서Dev

sf 용 ggplot의 facet_wrap

분류에서Dev

패싯 된 ggplot에서 정렬 된 x 축 레이블 이름 바꾸기

분류에서Dev

ggplot2 :: facet_wrap ()의 기본 패널 레이아웃?

분류에서Dev

각 ggplot의 패싯 내에서 스택을 정렬하는 방법은 무엇입니까?

분류에서Dev

ggplot의 facet_wrap의 각 패널에 대해 x 레이블을 어떻게 반복 할 수 있습니까?

분류에서Dev

R : 등호가 포함 된 문자열로 facet_wrap 제목의 레이블을 다시 지정합니다.

분류에서Dev

R : 등호가 포함 된 문자열로 facet_wrap 제목의 레이블을 다시 지정합니다.

분류에서Dev

R 그래픽 / ggplot2는 강조 표시된 "활성"라인과 회색으로 표시된 다른 라인으로 패싯을 재현합니다.

분류에서Dev

ggplot facet_wrap을 색상별로 정렬 하시겠습니까?

분류에서Dev

facet_wrap을 사용하여 각 패싯에 2 개 이상의 줄을 넣습니다.

분류에서Dev

지정된 크기의 이미지로 ggplot2 패싯 배경의 특정 영역에 주석 달기

분류에서Dev

ggplot의 facet_wrap을 통해 라인 연결

분류에서Dev

ggplot2에 수정 된 각 패싯 저장

분류에서Dev

오류 : 행렬의 행 수가 일치해야 함 (ggplot 패싯)

분류에서Dev

R에서 ggplot의 facet_wrap을 사용하는 흐름 기간 곡선?

분류에서Dev

R에서 여러 data.frame의 facet_wrap을 사용하는 ggplot?

분류에서Dev

Flow duration curve using facet_wrap of ggplot in R?

분류에서Dev

facet_wrap 사용시 ggplot 재정렬 변경

분류에서Dev

R ggplot : 패싯의 다른 geom_ablines

분류에서Dev

ggplot2-패싯 크기를 일정하게 유지하면서 패싯과 함께 grid.arrange () 사용

분류에서Dev

ggplot의 여러 패싯을 통한 하나의 회귀

분류에서Dev

패싯 된 ggplot에 중앙선 추가

Related 관련 기사

  1. 1

    ggplot2의 facet_wrap에 '(all)'패싯을 쉽게 추가 하시겠습니까?

  2. 2

    ggplot2 facet_wrap의 열에서 여러 패싯 스트립 결합

  3. 3

    ggplot에서 facet_wrap을 사용하여 패싯별로 다른 알파 값

  4. 4

    ggplot 패싯 래스터 맵을 단일 맵 (별도의 범례)으로 정렬

  5. 5

    ggplot2 패싯 사이에 공백과 세 개의 점 (줄임표)을 추가하여 생략 된 패싯을 나타냅니다.

  6. 6

    패싯 내의 R ggplot2 패싯

  7. 7

    ggplotly의 긴 facet_wrap 라벨 / 패싯의 스트립과 플롯이 겹칩니다.

  8. 8

    sf 용 ggplot의 facet_wrap

  9. 9

    패싯 된 ggplot에서 정렬 된 x 축 레이블 이름 바꾸기

  10. 10

    ggplot2 :: facet_wrap ()의 기본 패널 레이아웃?

  11. 11

    각 ggplot의 패싯 내에서 스택을 정렬하는 방법은 무엇입니까?

  12. 12

    ggplot의 facet_wrap의 각 패널에 대해 x 레이블을 어떻게 반복 할 수 있습니까?

  13. 13

    R : 등호가 포함 된 문자열로 facet_wrap 제목의 레이블을 다시 지정합니다.

  14. 14

    R : 등호가 포함 된 문자열로 facet_wrap 제목의 레이블을 다시 지정합니다.

  15. 15

    R 그래픽 / ggplot2는 강조 표시된 "활성"라인과 회색으로 표시된 다른 라인으로 패싯을 재현합니다.

  16. 16

    ggplot facet_wrap을 색상별로 정렬 하시겠습니까?

  17. 17

    facet_wrap을 사용하여 각 패싯에 2 개 이상의 줄을 넣습니다.

  18. 18

    지정된 크기의 이미지로 ggplot2 패싯 배경의 특정 영역에 주석 달기

  19. 19

    ggplot의 facet_wrap을 통해 라인 연결

  20. 20

    ggplot2에 수정 된 각 패싯 저장

  21. 21

    오류 : 행렬의 행 수가 일치해야 함 (ggplot 패싯)

  22. 22

    R에서 ggplot의 facet_wrap을 사용하는 흐름 기간 곡선?

  23. 23

    R에서 여러 data.frame의 facet_wrap을 사용하는 ggplot?

  24. 24

    Flow duration curve using facet_wrap of ggplot in R?

  25. 25

    facet_wrap 사용시 ggplot 재정렬 변경

  26. 26

    R ggplot : 패싯의 다른 geom_ablines

  27. 27

    ggplot2-패싯 크기를 일정하게 유지하면서 패싯과 함께 grid.arrange () 사용

  28. 28

    ggplot의 여러 패싯을 통한 하나의 회귀

  29. 29

    패싯 된 ggplot에 중앙선 추가

뜨겁다태그

보관