畫多個系列折線圖,并添加平均值折線

【目的】想用R畫多個系列數據的折線圖,并有一條代表性的折線(如平均值折線)鸟废。

【效果】


image

參考:Plotting individual observations and group means with ggplot2 | R-bloggers


#### Test of plot line group ####
install.packages("devtools")
devtools::install_github("drsimonj/ourworldindata")

# Individual-observations data
library(ourworldindata)
library(tidyr)
library(dplyr)
library(ggplot2)
head(financing_healthcare)
id <- financing_healthcare %>% 
  filter(continent %in% c("Oceania", "Europe") & between(year, 2001, 2005)) %>% 
  select(continent, country, year, health_exp_total) %>% 
  na.omit() # 篩選2001-2005年兩個continent的health_exp_total數據
id
# 畫多個系列折線圖
ggplot(id, aes(x = year, y = health_exp_total, group = country,color = continent)) +
  geom_line()

gd <- id %>% 
  group_by(continent,year) %>% 
  summarise(health_exp_total = mean(health_exp_total))  # 按continent統計平均值
gd

# 加入平均值折線,注意與上面的不同
ggplot(id, aes(x = year, y = health_exp_total,  color = continent)) +
  geom_line(aes(group = country)) + # 所有系列折線殊鞭,注意要在此加入group信息
  geom_line(data = gd) # 平均值折線

# 設置平均值折線的粗細和透明度澈灼,使其凸現出來
ggplot(id, aes(x = year, y = health_exp_total, color = continent)) +
  geom_line(aes(group = country), alpha = .3) +  # 所有折線的透明度
  geom_line(data = gd, alpha = .8, size = 3) +   # 平均值折線的透明度和粗細
  theme_bw() +
  labs(
    title = "Changes in healthcare spending\nacross countries and world regions",
    x = NULL,
    y = "Total healthcare investment ($)",
    color = NULL
  )
##### 用自己數據作圖 #####
> h12.m
# A tibble: 179,676 x 7
   Gene.ID   Cat   group     group2    material time  log2_normalized_counts
   <fct>     <chr> <fct>     <fct>     <chr>    <chr>                  <dbl>
 1 AT1G01010 Cat.7 NA        NA        hid1     12on                    2.93
 2 AT1G01020 Cat.7 NA        NA        hid1     12on                    3.17
 3 AT1G01030 Cat.5 phyB_only phyB_down hid1     12on                    1.11
 4 AT1G01040 Cat.7 NA        NA        hid1     12on                    6.24
 5 AT1G01046 Cat.7 NA        NA        hid1     12on                   -2.89
 6 AT1G01050 Cat.7 NA        NA        hid1     12on                    4.94
 7 AT1G01060 Cat.7 NA        NA        hid1     12on                    4.54
 8 AT1G01070 Cat.9 NA        NA        hid1     12on                   NA   
 9 AT1G01080 Cat.7 NA        NA        hid1     12on                    4.58
10 AT1G01090 Cat.9 NA        NA        hid1     12on                    5.86
# ... with 179,666 more rows

# 篩選在12ON時間點co_up且隸屬于Cat1基因絮缅,并計算平均值
h12.up1 <- h12.m %>% 
  filter(Cat == "Cat.1" & group2 == "co_up" & material =="WT") 
h12.coup1 <- h12.m %>% 
  filter(Cat == "Cat.1" & group2 == "co_up") %>% 
  group_by(Cat,material,time) %>% 
  summarise(log2_normalized_counts=mean(log2_normalized_counts, na.rm = T))

##### 數據如下所示:#####
> h12.up1
# A tibble: 27 x 7
   Gene.ID   Cat   group  group2 material time  log2_normalized_counts
   <fct>     <chr> <fct>  <fct>  <chr>    <chr>                  <dbl>
 1 AT1G28670 Cat.1 common co_up  WT       12on                  0.566 
 2 AT2G28200 Cat.1 common co_up  WT       12on                 -1.94  
 3 AT3G06435 Cat.1 common co_up  WT       12on                  0.0694
 4 AT3G13404 Cat.1 common co_up  WT       12on                 -0.344 
 5 AT3G23430 Cat.1 common co_up  WT       12on                  1.14  
 6 AT3G28180 Cat.1 common co_up  WT       12on                  1.80  
 7 AT3G52470 Cat.1 common co_up  WT       12on                  1.47  
 8 AT5G14930 Cat.1 common co_up  WT       12on                 -0.995 
 9 AT5G46710 Cat.1 common co_up  WT       12on                 -2.26  
10 AT1G28670 Cat.1 common co_up  WT       24on                  4.94  
# ... with 17 more rows
> h12.coup1
# A tibble: 9 x 4
# Groups:   Cat, material [?]
  Cat   material time  log2_normalized_counts
  <chr> <chr>    <chr>                  <dbl>
1 Cat.1 hid1     12on                  1.49  
2 Cat.1 hid1     24on                  3.56  
3 Cat.1 hid1     48on                  3.57  
4 Cat.1 phyB     12on                  2.21  
5 Cat.1 phyB     24on                  0.466 
6 Cat.1 phyB     48on                 -1.54  
7 Cat.1 WT       12on                 -0.0547
8 Cat.1 WT       24on                  3.18  
9 Cat.1 WT       48on                  4.64

##### 作圖并保存圖像 #####
ggplot(h12.up1, aes(x=time, y=log2_normalized_counts, color=material))+
  geom_line(aes(group=Gene.ID), alpha=.4,linetype= 2)+
  geom_line(data = h12.coup1, aes(group=material), alpha=1,size=1.5)+ #要加入group=material
  scale_x_discrete(labels=c("12hr","24hr","48hr")) + # change x-grid labels
  xlab("Time") + ylab(expression(paste("log"[2],"(CPM)"))) + # change x-axis labels
  theme_bw()
ggsave("Cat1_12hr_co_up.png", width =10, height = 8,units = "cm", dpi=300)
  
  • 輸出圖像如下:


    image.png
?著作權歸作者所有,轉載或內容合作請聯系作者
  • 序言:七十年代末怎燥,一起剝皮案震驚了整個濱河市负饲,隨后出現的幾起案子堤魁,更是在濱河造成了極大的恐慌,老刑警劉巖返十,帶你破解...
    沈念sama閱讀 217,907評論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件姨涡,死亡現場離奇詭異,居然都是意外死亡吧慢,警方通過查閱死者的電腦和手機涛漂,發(fā)現死者居然都...
    沈念sama閱讀 92,987評論 3 395
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來检诗,“玉大人匈仗,你說我怎么就攤上這事》昊牛” “怎么了悠轩?”我有些...
    開封第一講書人閱讀 164,298評論 0 354
  • 文/不壞的土叔 我叫張陵,是天一觀的道長攻泼。 經常有香客問我火架,道長,這世上最難降的妖魔是什么忙菠? 我笑而不...
    開封第一講書人閱讀 58,586評論 1 293
  • 正文 為了忘掉前任何鸡,我火速辦了婚禮,結果婚禮上牛欢,老公的妹妹穿的比我還像新娘骡男。我一直安慰自己,他們只是感情好傍睹,可當我...
    茶點故事閱讀 67,633評論 6 392
  • 文/花漫 我一把揭開白布隔盛。 她就那樣靜靜地躺著犹菱,像睡著了一般。 火紅的嫁衣襯著肌膚如雪吮炕。 梳的紋絲不亂的頭發(fā)上腊脱,一...
    開封第一講書人閱讀 51,488評論 1 302
  • 那天,我揣著相機與錄音龙亲,去河邊找鬼陕凹。 笑死,一個胖子當著我的面吹牛俱笛,可吹牛的內容都是我干的。 我是一名探鬼主播传趾,決...
    沈念sama閱讀 40,275評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼迎膜,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了浆兰?” 一聲冷哼從身側響起磕仅,我...
    開封第一講書人閱讀 39,176評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎簸呈,沒想到半個月后榕订,有當地人在樹林里發(fā)現了一具尸體,經...
    沈念sama閱讀 45,619評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡蜕便,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 37,819評論 3 336
  • 正文 我和宋清朗相戀三年劫恒,在試婚紗的時候發(fā)現自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片轿腺。...
    茶點故事閱讀 39,932評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡两嘴,死狀恐怖,靈堂內的尸體忽然破棺而出族壳,到底是詐尸還是另有隱情憔辫,我是刑警寧澤,帶...
    沈念sama閱讀 35,655評論 5 346
  • 正文 年R本政府宣布仿荆,位于F島的核電站贰您,受9級特大地震影響,放射性物質發(fā)生泄漏拢操。R本人自食惡果不足惜锦亦,卻給世界環(huán)境...
    茶點故事閱讀 41,265評論 3 329
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望令境。 院中可真熱鬧孽亲,春花似錦、人聲如沸展父。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,871評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至篮绿,卻和暖如春孵延,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背亲配。 一陣腳步聲響...
    開封第一講書人閱讀 32,994評論 1 269
  • 我被黑心中介騙來泰國打工尘应, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人吼虎。 一個月前我還...
    沈念sama閱讀 48,095評論 3 370
  • 正文 我出身青樓犬钢,卻偏偏與公主長得像,于是被迫代替她去往敵國和親思灰。 傳聞我的和親對象是個殘疾皇子玷犹,可洞房花燭夜當晚...
    茶點故事閱讀 44,884評論 2 354

推薦閱讀更多精彩內容

  • 能量來自于哪里呢? 食物洒疚,對吃的渴望歹颓。 要資源能量來自于哪里呢? 壓力和動力的轉化油湖,加上無與倫比的執(zhí)行力巍扛。 嘴皮子...
    A安生Fineyoga閱讀 203評論 0 2