포인트 색상 / 채우기에 다른 변수를 사용하여 geom_bar 및 geom_point 플롯 (그룹화 된 플롯)

jillian_astarita

게시물을 검색했지만 문제를 해결하는 데 도움이되는 구체적인 예를 찾을 수 없습니다. (이것은 내 첫 번째 게시물이므로 이미지를 직접 포함 할 수는 없지만 링크를 포함했으며 코드는 내 문제를 설명하기 위해 작동합니다.)

평균을 보여주는 막대 그래프와 개별 복제를 보여주는 개별 포인트가있는 ggplot에서 그룹화 된 그래프를 만들려고합니다. 특정 그룹에 따라 포인트의 모양을 변경하지 않으면 제대로 작동하도록 할 수 있습니다.

그러나 나는 복제에 의해 포인트를 형성하고 싶습니다. 그렇게하려고 할 때 geom_point가 잘못 그룹화하는 것처럼 보이며 더 이상 막대 그래프에 표시된 데이터와 일치하지 않습니다.

다음은 몇 가지 예시 데이터입니다. 4 가지 과일 소스, 4 가지 다른 유형의 과일, 각 소스 / 과일 조합에 대해 2 개의 복제가 있습니다.

values <- runif(n = 32, min = 50, max = 100)
source <- rep(c("grocery", "garden", "market", "farm"), each = 8)
replicate <- rep(c("A", "B"), times = 16)
fruit <- rep(c("apple", "orange", "banana", "grape"), each = 2, times = 4)

df <- data.frame(source, fruit, replicate, values)

# change fruit to factor
df$fruit <- factor(df$fruit, levels = c("apple", "orange", "banana", "grape"))

이제 두 복제물의 평균을 그래프로 표시하고 네 가지 소스를 기준으로 네 과일을 그룹화하는 막대 그래프를 만듭니다.

g <- ggplot(data = df, aes(x = source, y = values, fill = fruit)) +
  geom_bar(position = "dodge", color = "black", stat = "summary", fun = "mean") +
  scale_fill_manual(values = c("gray65", "deepskyblue1", "orange", "olivedrab4")) +
  theme_bw() +
  theme(axis.text.x = element_text(angle = 90, vjust = 0.5, hjust=1),
        legend.position = "top",
        legend.title = element_text(face = "bold", size = 10),
        legend.text = element_text(size = 10),
        strip.text = element_text(size = 10, face = "bold"),
        legend.background = element_rect(size=.5, linetype="solid", color = "black"))

g

막대 그래프

다음으로 두 개의 반복을 표시하기 위해 점을 추가합니다. 이것은 잘 작동합니다.

#add in geom_point to show duplicates

g + geom_point(position = position_dodge(width = 0.9))

막대 그래프 + 포인트

그러나 두 복제물에 대해 다른 모양을 추가하려고하면 이제 각 점에 대해 복제물을 유지하는 대신 복제물을 함께 그룹화합니다. 따라서 포인트가 막대 그래프와 올바르게 일치하지 않습니다. 첫 번째 ggplot 줄의 aes에 "shape = replicate"를 추가하려고했지만 각 복제에 대한 개별 막대 그래프가 생겼습니다. 나는 가깝다고 확신하지만 다른 시도를 할 수 없습니다.

#make the shape of the points correspond to the celltype

g + geom_point(aes(shape = replicate), position = position_dodge(width = 0.9))

막대 그래프 + 복제를 보여주는 포인트 (작동하지 않음)

스테판

추가하면 shape = replicate엉망이 position_dodge되는데 닷지가 fruitreplciate. 이를 극복하기 위해 내 접근 방식은 geom_point복제에 대해 별도의 레이어를 사용 합니다. 이 시도:

set.seed(42)
values <- runif(n = 32, min = 50, max = 100)
source <- rep(c("grocery", "garden", "market", "farm"), each = 8)
replicate <- rep(c("A", "B"), times = 16)
fruit <- rep(c("apple", "orange", "banana", "grape"), each = 2, times = 4)

df <- data.frame(source, fruit, replicate, values)

# change fruit to factor
df$fruit <- factor(df$fruit, levels = c("apple", "orange", "banana", "grape"))

library(ggplot2)
library(dplyr)

g <- ggplot(data = df, aes(x = source, y = values, fill = fruit)) +
  geom_bar(position = "dodge", color = "black", stat = "summary", fun = "mean") +
  scale_fill_manual(values = c("gray65", "deepskyblue1", "orange", "olivedrab4")) +
  theme_bw() +
  theme(axis.text.x = element_text(angle = 90, vjust = 0.5, hjust=1),
        legend.position = "top",
        legend.title = element_text(face = "bold", size = 10),
        legend.text = element_text(size = 10),
        strip.text = element_text(size = 10, face = "bold"),
        legend.background = element_rect(size=.5, linetype="solid", color = "black"))

g + 
  geom_point(data = filter(df, replicate == "A"), aes(shape = "A"), position = position_dodge(width = 0.9)) +
  geom_point(data = filter(df, replicate == "B"), aes(shape = "B"), position = position_dodge(width = 0.9)) +
  guides(fill = guide_legend(override.aes = list(shape = c(NA, NA, NA, NA))))

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

누적 된 geom_col 플롯의 최대 값에 geom_point 추가-변수 결과로 색상 지정

분류에서Dev

동일한 플롯에서 geom_line 및 geom_bar를 나타냅니다.

분류에서Dev

geom_bar ggplot2 양수 및 음수 값이있는 누적, 그룹화 된 막대 플롯-피라미드 플롯

분류에서Dev

ggplot geom_bar () 플롯에서 막대를 채색하지 않음

분류에서Dev

geom_bar 플롯에서 하위 그룹의 순서를 조정해야합니다.

분류에서Dev

ggplot은 geom_bar를 사용하여 동일한 변수 및 값을 갖는 다른 코드 세트에 대해 동일한 플롯을 제공하지 않습니다.

분류에서Dev

하나의 플롯에서 geom_point 및 geom_pointrange를 사용할 때 요인 순서를 유지하는 방법은 무엇입니까?

분류에서Dev

R에서 ggplot을 사용하여 이동 된 플롯의 포인트를 다른 플롯과 연결

분류에서Dev

R의 geom_point 플롯에 geom_bar 파이를 결합 할 수 있습니까?

분류에서Dev

geom_bar를 사용하여 ggplot2에 표시되지 않는 플롯

분류에서Dev

ggplot에서 그룹화 된 상자 플롯을 사용하여 geom_text 레이블을 올바른 위치에 배치하는 방법

분류에서Dev

값을 기반으로 한 geom_point 색상으로 geom_bar 그룹화 된 데이터

분류에서Dev

플롯에 geom_point 및 geom_line 추가

분류에서Dev

ggplot2 : geom_bar 채우기 색상; 다른 데이터 그룹으로 변경하는 방법

분류에서Dev

스케일 채우기 수동-다른 플롯의 다른 색상에 매핑 된 색상 스케일의 값

분류에서Dev

facet_wrap으로 그린 geom_bar 플롯에 누적 수량 추가

분류에서Dev

facet_wrap으로 그린 geom_bar 플롯에 누적 수량 추가

분류에서Dev

NumPy 및 matplotlib를 사용하여 플롯 된 그래프에 일부 포인트가 표시되지 않습니다.

분류에서Dev

purrr 및 여러 다른 데이터 세트를 사용하여 탐색 플롯 자동화

분류에서Dev

그룹 변수별로 플롯 상자 플롯의 지터 색칠하기

분류에서Dev

단일 플롯에서 ggplot2 다중 geom_point

분류에서Dev

ggplot (R)에서 geom_point 및 geom_path 플롯 레이어 분리

분류에서Dev

하나의 이산 요소로 그룹화 된 ecdf 플롯에 색상을 지정하고 다른 (계속) 요소를 사용하여 계속 색상을 지정 하시겠습니까?

분류에서Dev

하나의 플롯에서 서로 다른 열을 기반으로 두 개의 geom_bar () 플롯을 만듭니다.

분류에서Dev

맵 (geom_point)의 변수에 따라 색상 및 모양 포인트를 그릴 때 기호의 검은 색 테두리 유지

분류에서Dev

geom_bar 및 geom_point를 사용하여 ggplot의 범례 제어

분류에서Dev

matplotlib를 사용하여 다른 그림에 플롯 추가

분류에서Dev

두 개의 서로 다른 열의 geom_bar 플롯

분류에서Dev

ggplot geom_point 및 geom_line 플롯으로 생성 된 중복 범례 결합

Related 관련 기사

  1. 1

    누적 된 geom_col 플롯의 최대 값에 geom_point 추가-변수 결과로 색상 지정

  2. 2

    동일한 플롯에서 geom_line 및 geom_bar를 나타냅니다.

  3. 3

    geom_bar ggplot2 양수 및 음수 값이있는 누적, 그룹화 된 막대 플롯-피라미드 플롯

  4. 4

    ggplot geom_bar () 플롯에서 막대를 채색하지 않음

  5. 5

    geom_bar 플롯에서 하위 그룹의 순서를 조정해야합니다.

  6. 6

    ggplot은 geom_bar를 사용하여 동일한 변수 및 값을 갖는 다른 코드 세트에 대해 동일한 플롯을 제공하지 않습니다.

  7. 7

    하나의 플롯에서 geom_point 및 geom_pointrange를 사용할 때 요인 순서를 유지하는 방법은 무엇입니까?

  8. 8

    R에서 ggplot을 사용하여 이동 된 플롯의 포인트를 다른 플롯과 연결

  9. 9

    R의 geom_point 플롯에 geom_bar 파이를 결합 할 수 있습니까?

  10. 10

    geom_bar를 사용하여 ggplot2에 표시되지 않는 플롯

  11. 11

    ggplot에서 그룹화 된 상자 플롯을 사용하여 geom_text 레이블을 올바른 위치에 배치하는 방법

  12. 12

    값을 기반으로 한 geom_point 색상으로 geom_bar 그룹화 된 데이터

  13. 13

    플롯에 geom_point 및 geom_line 추가

  14. 14

    ggplot2 : geom_bar 채우기 색상; 다른 데이터 그룹으로 변경하는 방법

  15. 15

    스케일 채우기 수동-다른 플롯의 다른 색상에 매핑 된 색상 스케일의 값

  16. 16

    facet_wrap으로 그린 geom_bar 플롯에 누적 수량 추가

  17. 17

    facet_wrap으로 그린 geom_bar 플롯에 누적 수량 추가

  18. 18

    NumPy 및 matplotlib를 사용하여 플롯 된 그래프에 일부 포인트가 표시되지 않습니다.

  19. 19

    purrr 및 여러 다른 데이터 세트를 사용하여 탐색 플롯 자동화

  20. 20

    그룹 변수별로 플롯 상자 플롯의 지터 색칠하기

  21. 21

    단일 플롯에서 ggplot2 다중 geom_point

  22. 22

    ggplot (R)에서 geom_point 및 geom_path 플롯 레이어 분리

  23. 23

    하나의 이산 요소로 그룹화 된 ecdf 플롯에 색상을 지정하고 다른 (계속) 요소를 사용하여 계속 색상을 지정 하시겠습니까?

  24. 24

    하나의 플롯에서 서로 다른 열을 기반으로 두 개의 geom_bar () 플롯을 만듭니다.

  25. 25

    맵 (geom_point)의 변수에 따라 색상 및 모양 포인트를 그릴 때 기호의 검은 색 테두리 유지

  26. 26

    geom_bar 및 geom_point를 사용하여 ggplot의 범례 제어

  27. 27

    matplotlib를 사용하여 다른 그림에 플롯 추가

  28. 28

    두 개의 서로 다른 열의 geom_bar 플롯

  29. 29

    ggplot geom_point 및 geom_line 플롯으로 생성 된 중복 범례 결합

뜨겁다태그

보관