긴 형식의 데이터 세트에 여러 변수가있는 Geom_bar + geom_line

user14514023

geom_linegeom_bar 를 겹치지 않고 동일한 플롯에 두는 방법이 있습니까?

변수 "exp_j_perc""cut_j_perc" 를 막대로 사용하고 "total_growth" 를 줄로 지정하고 싶지만 방법을 알 수 없습니다.

나는 이것을 시도했지만 subset알 수없는 매개 변수 인 오류가 발생했습니다 .

가능하면 두 개의 서로 다른 y 축도 있습니다.

df_long %>% 
    ggplot(aes(x = budget_year, y = value)) +
    geom_bar(subset = .(variable == "exp_j_perc" | variable == "cut_j_perc"),
             stat="identity", position = "dodge2", width = 0.35, alpha = 0.75)+
    geom_line(subset = .(variable == "total_growth"),
              size = 0.6, linetype = "longdash") +
    scale_x_continuous(breaks = c(2010,2011,2012,2013,2014,2015,2016,2017,2018)) +
    scale_fill_manual(values = palette) +
    xlab("Year") +
    theme_minimal() +
    theme(panel.grid.major.x = element_blank(),
          axis.text=element_text(size=10))

데이터는 다음과 같습니다.

df_long <- structure(list(year = c(2010, 2010, 2011, 2012, 2014, 2014, 2015, 
2016, 2018, 2010, 2010, 2011, 2012, 2014, 2014, 2015, 2016, 2018, 
2010, 2010, 2011, 2012, 2014, 2014, 2015, 2016, 2018, 2010, 2010, 
2011, 2012, 2014, 2014, 2015, 2016, 2018, 2010, 2010, 2011, 2012, 
2014, 2014, 2015, 2016, 2018, 2010, 2010, 2011, 2012, 2014), 
    budget_year = c(2010, 2011, 2012, 2013, 2014, 2015, 2016, 
    2017, 2018, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 
    2018, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018, 
    2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2010, 
    2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2010, 2011, 
    2012, 2013, 2014), variable = c("exp_j_perc", "exp_j_perc", 
    "exp_j_perc", "exp_j_perc", "exp_j_perc", "exp_j_perc", "exp_j_perc", 
    "exp_j_perc", "exp_j_perc", "cut_j_perc", "cut_j_perc", "cut_j_perc", 
    "cut_j_perc", "cut_j_perc", "cut_j_perc", "cut_j_perc", "cut_j_perc", 
    "cut_j_perc", "total_d", "total_d", "total_d", "total_d", 
    "total_d", "total_d", "total_d", "total_d", "total_d", "total_growth", 
    "total_growth", "total_growth", "total_growth", "total_growth", 
    "total_growth", "total_growth", "total_growth", "total_growth", 
    "exp_justification", "exp_justification", "exp_justification", 
    "exp_justification", "exp_justification", "exp_justification", 
    "exp_justification", "exp_justification", "exp_justification", 
    "cut_justification", "cut_justification", "cut_justification", 
    "cut_justification", "cut_justification"), value = c(33.33, 
    0, 22.45, 46.66, 50, 64, 82.35, 92.18, 100, 66.66, 100, 77.55, 
    53.33, 50, 36, 17.64, 7.82, 0, 1168782, 1136279.2186499, 
    1131940.80814086, 1151145.76656277, 1164509.2887094, 1181777.9454623, 
    1224866.3370881, 1265134.21792983, 1288684.9611902, NA, -2.78091049914321, 
    -0.381808488427549, 1.69663981400685, 1.16088878878757, 1.48291275306511, 
    3.64606496434037, 3.28753265743733, 1.86152132529547, 4, 
    0, 11, 21, 5, 16, 56, 59, 49, 8, 27, 38, 24, 5)), row.names = c(NA, 
-50L), class = c("tbl_df", "tbl", "data.frame"))
EJJ

문서를 빠르게 스캔하면 subset인수가 해당 특정 함수에 존재하지 않음을 나타내며 해당 오류가 발생하는 이유를 설명합니다.

가능한 것, 제안되지 않은 것 및 데이터 시각화에 대한 의견에 대한 게시물읽는 것이 좋습니다 . 데이터의 경우, 이다 쉽게하여 그것에 다른 Y 축에 대하여 확장 할 수 있도록 그 중 하나는 고정 된 값 (%)을 나타내고 있기 때문에 두 개의 상이한 스케일 Y 축을위한 수 sec.axis의 인수 scales_y_continuous. 각`geom_ *에 전달하려는 변수를 분리하려면 일부 전처리가 필요합니다.

library(dplyr)
library(tidyr)
library(ggplot2)
df_long %>% 
  filter(variable %in% c("exp_j_perc", "cut_j_perc", "total_growth")) %>% 
  pivot_wider(names_from = variable) %>% 
  pivot_longer(cols = c("exp_j_perc", "cut_j_perc")) %>% 
  ggplot(aes(x = budget_year)) +
  geom_col(aes(y = value, fill = name)) +
  geom_line(aes(y = (total_growth*10) + 50), size = 2, alpha = 0.7, col = "blue") +
  scale_fill_discrete(name = "") +
  scale_y_continuous(sec.axis = sec_axis(~ (. -50)/10, name = "total growth")) +
  labs(y = "percent %")

하지마

나는 이런 유형의 데이터 즉,별로 좋아하지 않지만 일부 경영진은 눈가리개를 사용하는 것이 적절하고 적절하지 않다는 것을 잘 알고 있습니다.

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

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

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

여러 그룹이있는 ggplot geom_line의 x 축에 범주 형 변수를 만드는 방법

분류에서Dev

ggplot에 여러 geom_line 추가

분류에서Dev

여러 변수가있는 와이드에서 긴 형식

분류에서Dev

두 개의 이산 변수가있는 geom_text와 Geom_bar 비교

분류에서Dev

한 범주 형 변수에 위치 회피가 있고 다른 범주에 색상이있는 Geom_bar

분류에서Dev

데이터 별 geom_line () 순서를 ggplot 함수에 적용

분류에서Dev

x 축에 별도의 그룹화 된 변수가있는 ggplot geom_bar

분류에서Dev

여러 시리즈에 대해 geom_point () 및 geom_line ()을 사용하는 ggplot의 범례 오류

분류에서Dev

R의 geom_line에 레이블 추가

분류에서Dev

R 데이터 세트를 긴 형식으로 변환하는 복잡한 버전 (ID 정보가 여러 개의 서로 다른 행에 분산 됨)

분류에서Dev

R에서 ggplot / geom_bar를 사용하여 막대 위에 데이터 세트의 사용자 지정 레이블을 추가하는 방법은 무엇입니까?

분류에서Dev

pivot_longer를 사용하여 긴 형식 데이터 세트에서 긴 형식 데이터 세트로

분류에서Dev

이진 변수 및 x 축 날짜와 긴 데이터 형식이있는 ggplot geom_vline

분류에서Dev

R / ggplot2를 사용하여 geom_bar () 내부의 개별 %에 레이블 추가

분류에서Dev

패싯을 사용하여 geom_bar의 열 위에 백분율 추가

분류에서Dev

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

분류에서Dev

여러 고유 변수가있는 긴 형식에서 R의 다른 고유 변수로 변환

분류에서Dev

정의 된 변수없이 geom_bar () 주문

분류에서Dev

R : 누적 geom_bar (ggplot)의 각 X 축 요소에 대한 여러 열

분류에서Dev

geom_bar (ggplot2)를 사용하여 레이블을 세로 중앙에 배치하는 방법

분류에서Dev

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

분류에서Dev

데이터 세트에서 여러 변수의 형태 변경

분류에서Dev

R : geom_bar에서 바 레이블 변경

분류에서Dev

ggplot의 geom_bar에서 가로 막대 색상 지정

분류에서Dev

강조 세그먼트에 색상을 추가 할 때 두 줄을 보여주는 geom_line

분류에서Dev

r의 누적 막대 그림에 geom_line 추가

분류에서Dev

주어진 데이터에 대한 geom_bar 및 errorbars

분류에서Dev

geom_bar 겹치는 레이블

분류에서Dev

geom_bar 그룹 변수에 비례하는 geom_text에 레이블을 표시하는 방법

Related 관련 기사

  1. 1

    여러 그룹이있는 ggplot geom_line의 x 축에 범주 형 변수를 만드는 방법

  2. 2

    ggplot에 여러 geom_line 추가

  3. 3

    여러 변수가있는 와이드에서 긴 형식

  4. 4

    두 개의 이산 변수가있는 geom_text와 Geom_bar 비교

  5. 5

    한 범주 형 변수에 위치 회피가 있고 다른 범주에 색상이있는 Geom_bar

  6. 6

    데이터 별 geom_line () 순서를 ggplot 함수에 적용

  7. 7

    x 축에 별도의 그룹화 된 변수가있는 ggplot geom_bar

  8. 8

    여러 시리즈에 대해 geom_point () 및 geom_line ()을 사용하는 ggplot의 범례 오류

  9. 9

    R의 geom_line에 레이블 추가

  10. 10

    R 데이터 세트를 긴 형식으로 변환하는 복잡한 버전 (ID 정보가 여러 개의 서로 다른 행에 분산 됨)

  11. 11

    R에서 ggplot / geom_bar를 사용하여 막대 위에 데이터 세트의 사용자 지정 레이블을 추가하는 방법은 무엇입니까?

  12. 12

    pivot_longer를 사용하여 긴 형식 데이터 세트에서 긴 형식 데이터 세트로

  13. 13

    이진 변수 및 x 축 날짜와 긴 데이터 형식이있는 ggplot geom_vline

  14. 14

    R / ggplot2를 사용하여 geom_bar () 내부의 개별 %에 레이블 추가

  15. 15

    패싯을 사용하여 geom_bar의 열 위에 백분율 추가

  16. 16

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

  17. 17

    여러 고유 변수가있는 긴 형식에서 R의 다른 고유 변수로 변환

  18. 18

    정의 된 변수없이 geom_bar () 주문

  19. 19

    R : 누적 geom_bar (ggplot)의 각 X 축 요소에 대한 여러 열

  20. 20

    geom_bar (ggplot2)를 사용하여 레이블을 세로 중앙에 배치하는 방법

  21. 21

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

  22. 22

    데이터 세트에서 여러 변수의 형태 변경

  23. 23

    R : geom_bar에서 바 레이블 변경

  24. 24

    ggplot의 geom_bar에서 가로 막대 색상 지정

  25. 25

    강조 세그먼트에 색상을 추가 할 때 두 줄을 보여주는 geom_line

  26. 26

    r의 누적 막대 그림에 geom_line 추가

  27. 27

    주어진 데이터에 대한 geom_bar 및 errorbars

  28. 28

    geom_bar 겹치는 레이블

  29. 29

    geom_bar 그룹 변수에 비례하는 geom_text에 레이블을 표시하는 방법

뜨겁다태그

보관