簡體   English   中英

R ggplot - 用兩個軸在同一 plot 中繪制具有子類別的多個變量

[英]R ggplot - ploting multiple variables with sub-categories in the same plot with two axes

我有這個數據:

date        area        people_tested    positive_cases positive
2021-12-09  Total       76282.0                402.0000 0.005300000
2021-12-10  Total       84023.0                389.0000 0.004600000
2021-12-09  Total_3da        NA                382.3333 0.004900000
2021-12-10  Total_3da        NA                377.6667 0.004933333
2021-12-09  Paris_3da   75257.4                      NA          NA
2021-12-10  Paris_3da   71553.6                      NA          NA

我想創建一個 plot ,每個組合都有一條線。 例如:

  1. 第 1 行 -> 總計 / people_tested
  2. 第 2 行 -> 總計 / positive_cases
  3. 第 3 行 -> 總計/正
  4. 第 4 行 -> Total_3da / positive_cases
  5. 第 5 行 -> Total_3da / 正
  6. 第 6 行 -> Paris_3da / people_tested

我還希望“people_tested”“positive_cases”位於同一軸上, “positive”位於輔助軸上。

我考慮過的一種方法是創建一個具有以下格式的新表,但我想知道是否有更簡單的方法來做到這一點:

date        area                      value 
2021-12-09  Total_people_tested     76282.0                
2021-12-10  Total_people_tested     84023.0  
2021-12-09  Total_positive_cases      402.0
2021-12-10  Total_positive_cases      389.0
etc

直接上ggplot2,相信是不可能的。 一種解決方案是將重塑步驟與 facet_grid 相結合。 就像是:

library(tidyr)

# reshaping to long form
df_tidy <- df %>%
    pivot_longer(cols = people_tested:positive,
            names_to = “names”,
            values_to_ “value”)

# using ggplot
df_tidy %>% ggplot(aes(x = date, y = value)) +
    geom_line() +
    facet_grid(names ~ area)

我推薦Wickham 的書 ggplot2:用於數據分析的優雅圖形 它有很多例子可以探索!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM