ggplot을 사용하여 facet_grid에서 다른 y 축 스케일을 설정하는 방법은 무엇입니까?

사이먼 베스 나드

이 데이터 프레임이 있습니다 C_Em_df

structure(list(Driver = c("Crop agriculture", "Infrastructure", 
"Mining", "Mixed Agriculture", "Other land use", "Pasture", "Tree crops", 
"Water", "Crop agriculture", "Infrastructure", "Mining", "Mixed Agriculture", 
"Other land use", "Pasture", "Tree crops", "Water", "Crop agriculture", 
"Infrastructure", "Mining", "Mixed Agriculture", "Other land use", 
"Pasture", "Tree crops", "Water", "Crop agriculture", "Infrastructure", 
"Mining", "Mixed Agriculture", "Other land use", "Pasture", "Tree crops", 
"Water"), Period = c("1990-2000", "1990-2000", "1990-2000", "1990-2000", 
"1990-2000", "1990-2000", "1990-2000", "1990-2000", "1990-2000", 
"1990-2000", "1990-2000", "1990-2000", "1990-2000", "1990-2000", 
"1990-2000", "1990-2000", "2000-2005", "2000-2005", "2000-2005", 
"2000-2005", "2000-2005", "2000-2005", "2000-2005", "2000-2005", 
"2000-2005", "2000-2005", "2000-2005", "2000-2005", "2000-2005", 
"2000-2005", "2000-2005", "2000-2005"), Value = c(129536.358373574, 
14089.3660954917, 985.646531415156, 34951.5705930615, 75478.7796771996, 
1001024.77681633, 9673.51414314377, 51631.4446491193, 9.83294102032751, 
1.06950594852475, 0.0748191807457263, 2.65312948831128, 5.7294986378404, 
75.9865238911138, 0.73430421561273, 3.91927761752383, 273356.204972389, 
12040.5899468613, 607.505228212054, 45165.8223684273, 75748.9976185639, 
1221137.74328547, 8851.85933777376, 39629.016246337, 16.3048047540391, 
0.718181861746466, 0.0362357025480948, 2.69399377763239, 4.51818028644936, 
72.8368777437064, 0.527984496372407, 2.36374137750571), n = c("n = 1669", 
"n = 298", "n = 20", "n = 1355", "n = 1623", "n = 10986", "n = 316", 
"n = 466", "n = 1669", "n = 298", "n = 20", "n = 1355", "n = 1623", 
"n = 10986", "n = 316", "n = 466", "n = 783", "n = 151", "n = 7", 
"n = 925", "n = 851", "n = 6039", "n = 211", "n = 244", "n = 783", 
"n = 151", "n = 7", "n = 925", "n = 851", "n = 6039", "n = 211", 
"n = 244"), Type = c("Sum", "Sum", "Sum", "Sum", "Sum", "Sum", 
"Sum", "Sum", "Percentage", "Percentage", "Percentage", "Percentage", 
"Percentage", "Percentage", "Percentage", "Percentage", "Sum", 
"Sum", "Sum", "Sum", "Sum", "Sum", "Sum", "Sum", "Percentage", 
"Percentage", "Percentage", "Percentage", "Percentage", "Percentage", 
"Percentage", "Percentage")), .Names = c("Driver", "Period", 
"Value", "n", "Type"), row.names = c("1", "3", "5", "7", "9", 
"11", "13", "15", "12", "31", "51", "71", "91", "111", "131", 
"151", "2", "4", "6", "8", "10", "122", "14", "16", "21", "41", 
"61", "81", "101", "121", "141", "161"), class = "data.frame")

ggplot의 매개 변수 facet_grid를 사용하여 동일한 창에 절대 값 ( Sum)이있는 플롯과 백분율 값 ( Percentage) 이있는 플롯 을 플롯하고 싶습니다 . 이를 위해서는 두 개의 서로 다른 y 축 스케일과 두 개의 플롯에 서로 다른 두 개의 y 축 제목이 있어야합니다. 나는 아래 코드 줄을 관리했지만 실제로 원하는 것을 얻을 수 없었습니다.

g <- ggplot(C_Em_df, aes(x = Driver, y = Value, fill = Period, width = .85)) +
  facet_grid(Type~., scales="free")+
geom_bar(position = "dodge", stat = "identity") +
  labs(x = "", y = "Carbon emission (T/Year)") +
  theme(axis.text = element_text(size = 16),
        axis.title = element_text(size = 20), 
        legend.title = element_text(size = 20, face = 'bold'),
        legend.text=  element_text(size=20),
        axis.line = element_line(colour = "black"))+
  scale_fill_grey("Period") +
  theme_classic(base_size = 20, base_family = "") + 
  theme(panel.grid.minor = element_line(colour="grey", size=0.5)) +
  theme(axis.text.x = element_text(angle = 45, hjust = 1))

여기에 이미지 설명 입력

사이먼 베스 나드

여기에 답이 있습니다

#Plot absolute values
p1 <- ggplot(C_Em_df[C_Em_df$Type=="Sum",], aes(x = Driver, y = Value, fill = Period, width = .85)) +
  geom_bar(position = "dodge", stat = "identity") +
  labs(x = "", y = "Carbon emission (T/Year)") +
  theme(axis.text = element_text(size = 16),
        axis.title = element_text(size = 20), 
        legend.title = element_text(size = 20, face = 'bold'),
        legend.text=  element_text(size=20),
        axis.line = element_line(colour = "black"))+
  scale_fill_grey("Period") +
  theme_classic(base_size = 20, base_family = "") + 
  theme(panel.grid.minor = element_line(colour="grey", size=0.5)) +
  theme(axis.text.x = element_text(angle = 45, hjust = 1))

#add the number of observations
foo <- ggplot_build(p1)$data[[1]]
p2<-p1 + annotate("text", x = foo$x, y = foo$y + 50000, label = C_Em_df[C_Em_df$Type=="Sum",]$n, size = 4.5) 

#Plot Percentage values
p3 <- ggplot(C_Em_df[C_Em_df$Type=="Percentage",], aes(x = Driver, y = Value, fill = Period, width = .85)) +
  geom_bar(position = "dodge", stat = "identity") +
  scale_y_continuous(labels = percent_format(), limits=c(0,1))+
  labs(x = "", y = "Carbon Emissions (%)") +
  theme(axis.text = element_text(size = 16),
        axis.title = element_text(size = 20), 
        legend.title = element_text(size = 20, face = 'bold'),
        legend.text=  element_text(size=20),
        axis.line = element_line(colour = "black"))+
  scale_fill_grey("Period") +
  theme_classic(base_size = 20, base_family = "") + 
  theme(panel.grid.minor = element_line(colour="grey", size=0.5)) +
  theme(axis.text.x = element_text(angle = 45, hjust = 1))

# Plot two graphs together
install.packages("gridExtra")
library(gridExtra)
gA <- ggplotGrob(p2)
gB <- ggplotGrob(p3)
maxWidth = grid::unit.pmax(gA$widths[2:5], gB$widths[2:5])
gA$widths[2:5] <- as.list(maxWidth)
gB$widths[2:5] <- as.list(maxWidth)

p4 <- arrangeGrob(
  gA, gB, nrow = 2, heights = c(0.80, 0.80))

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

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

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

ggplot2에서 facet_grid ()를 사용할 때 일반적인 y 축 제한을 정의하는 방법

분류에서Dev

ggplot2에서 그림에 다른 y 축을 추가하는 방법은 무엇입니까?

분류에서Dev

'facet_grid'를 사용하여 secong 플롯에 두 번째 y 축을 삽입하는 방법

분류에서Dev

HighChart에서 y 축을 설정하는 방법은 무엇입니까?

분류에서Dev

y 범위가 다른 ggplot에서 이중 y 축을 그리는 방법은 무엇입니까?

분류에서Dev

facet_grid에서 ggplot boxplot의 내부 여백을 늘리는 방법은 무엇입니까?

분류에서Dev

보조 y 축을 ggplot2의 올바른 변수에 연결하는 방법은 무엇입니까?

분류에서Dev

facet_grid 플롯에서 y 축 이름 외부에 패싯 스트립 이름 (y로 전환됨)을 플로팅하는 방법이 있습니까?

분류에서Dev

다양한 y 축 스케일로 ggplot에서 facet_wrap을 사용하는 동안 이중 y 축

분류에서Dev

두 번째 수평 x 축 스케일을 jqplot에 추가하고 축 설정을 사용자 정의하는 방법은 무엇입니까?

분류에서Dev

R Highcharter-여러 y 축에 대한 툴팁을 사용자 정의하는 방법은 무엇입니까?

분류에서Dev

열의 모든 이름을 y 축으로 가져와 ggplot을 사용하여 동일한 그래프에 플로팅하는 방법은 무엇입니까?

분류에서Dev

matplotlib에서 y 축을 수정하는 방법은 무엇입니까?

분류에서Dev

matplotlib를 사용하여 y 축에 음수 값을 포함하는 방법은 무엇입니까?

분류에서Dev

matplotlib를 사용하여 y 축에 음수 값을 포함하는 방법은 무엇입니까?

분류에서Dev

ggplot2 facet_grid : geom_col에서 열 사이의 다른 간격을 수정하는 방법

분류에서Dev

Ruby를 사용하여 문에서 다중 동일 조건을 압축하는 방법은 무엇입니까?

분류에서Dev

ggplot2를 사용하여이 플롯에서 축 스케일과 틱을 얻는 방법은 무엇입니까?

분류에서Dev

ggplot을 사용하여 두 번째 y 축에 단어 목록을 작성하는 방법은 무엇입니까?

분류에서Dev

Plotly : 보조 Y 축에 최소값을 설정하는 방법은 무엇입니까?

분류에서Dev

ggplot을 사용하여 x 축에 날짜를 입력하는 방법은 무엇입니까?

분류에서Dev

x 축을 연도로 사용하여 ggplot2에 abline을 추가하는 방법은 무엇입니까?

분류에서Dev

ggplot에서 y 축이 0에서 시작하지 않음을 나타내는 방법은 무엇입니까?

분류에서Dev

ggplot2에서 Y 축의 제목을 변경하는 방법은 무엇입니까?

분류에서Dev

R에서`ggdraw` 및`plot_grid ()`를 사용하여 플롯 배열에서 X 및 Y 축에 공통 제목을 만드는 방법은 무엇입니까?

분류에서Dev

Streamlit에서 플롯 표현을 사용하여 Y 축에 여러 값 (동일 단위)을 플롯하는 방법은 무엇입니까?

분류에서Dev

OpenTurns Viewer에서 축 제한을 설정하는 방법은 무엇입니까?

분류에서Dev

x 및 y 축을 사용하면 ggplot2에서 로그 스케일링이 다릅니다.

분류에서Dev

플롯 그리드를 사용하여 Y 축에서 플롯을 0으로 정렬하는 방법은 무엇입니까?

Related 관련 기사

  1. 1

    ggplot2에서 facet_grid ()를 사용할 때 일반적인 y 축 제한을 정의하는 방법

  2. 2

    ggplot2에서 그림에 다른 y 축을 추가하는 방법은 무엇입니까?

  3. 3

    'facet_grid'를 사용하여 secong 플롯에 두 번째 y 축을 삽입하는 방법

  4. 4

    HighChart에서 y 축을 설정하는 방법은 무엇입니까?

  5. 5

    y 범위가 다른 ggplot에서 이중 y 축을 그리는 방법은 무엇입니까?

  6. 6

    facet_grid에서 ggplot boxplot의 내부 여백을 늘리는 방법은 무엇입니까?

  7. 7

    보조 y 축을 ggplot2의 올바른 변수에 연결하는 방법은 무엇입니까?

  8. 8

    facet_grid 플롯에서 y 축 이름 외부에 패싯 스트립 이름 (y로 전환됨)을 플로팅하는 방법이 있습니까?

  9. 9

    다양한 y 축 스케일로 ggplot에서 facet_wrap을 사용하는 동안 이중 y 축

  10. 10

    두 번째 수평 x 축 스케일을 jqplot에 추가하고 축 설정을 사용자 정의하는 방법은 무엇입니까?

  11. 11

    R Highcharter-여러 y 축에 대한 툴팁을 사용자 정의하는 방법은 무엇입니까?

  12. 12

    열의 모든 이름을 y 축으로 가져와 ggplot을 사용하여 동일한 그래프에 플로팅하는 방법은 무엇입니까?

  13. 13

    matplotlib에서 y 축을 수정하는 방법은 무엇입니까?

  14. 14

    matplotlib를 사용하여 y 축에 음수 값을 포함하는 방법은 무엇입니까?

  15. 15

    matplotlib를 사용하여 y 축에 음수 값을 포함하는 방법은 무엇입니까?

  16. 16

    ggplot2 facet_grid : geom_col에서 열 사이의 다른 간격을 수정하는 방법

  17. 17

    Ruby를 사용하여 문에서 다중 동일 조건을 압축하는 방법은 무엇입니까?

  18. 18

    ggplot2를 사용하여이 플롯에서 축 스케일과 틱을 얻는 방법은 무엇입니까?

  19. 19

    ggplot을 사용하여 두 번째 y 축에 단어 목록을 작성하는 방법은 무엇입니까?

  20. 20

    Plotly : 보조 Y 축에 최소값을 설정하는 방법은 무엇입니까?

  21. 21

    ggplot을 사용하여 x 축에 날짜를 입력하는 방법은 무엇입니까?

  22. 22

    x 축을 연도로 사용하여 ggplot2에 abline을 추가하는 방법은 무엇입니까?

  23. 23

    ggplot에서 y 축이 0에서 시작하지 않음을 나타내는 방법은 무엇입니까?

  24. 24

    ggplot2에서 Y 축의 제목을 변경하는 방법은 무엇입니까?

  25. 25

    R에서`ggdraw` 및`plot_grid ()`를 사용하여 플롯 배열에서 X 및 Y 축에 공통 제목을 만드는 방법은 무엇입니까?

  26. 26

    Streamlit에서 플롯 표현을 사용하여 Y 축에 여러 값 (동일 단위)을 플롯하는 방법은 무엇입니까?

  27. 27

    OpenTurns Viewer에서 축 제한을 설정하는 방법은 무엇입니까?

  28. 28

    x 및 y 축을 사용하면 ggplot2에서 로그 스케일링이 다릅니다.

  29. 29

    플롯 그리드를 사용하여 Y 축에서 플롯을 0으로 정렬하는 방법은 무엇입니까?

뜨겁다태그

보관