相關性圖的可視化

2019年Science一篇講海洋微生物的文章裏面有這樣一個圖:

後來,厚蘊老師開發的ggcor,完全實現了上圖,開啓了相關性可視化的新世界:

代碼如下:

 library(ggcor)
 library(ggplot2)
 library(dplyr)
 library(Cairo)
 ​
 data("varechem", package = "vegan")
 data("varespec", package = "vegan")
 ​
 mantel <- mantel_test(varespec, varechem,
  spec.select = list(Acuce = 1:7,
  HPN = 8:18,
  MLN = 19:37,
  LX = 38:44)) %>% 
  mutate(rd = cut(r, breaks = c(-Inf, 0.2, 0.4, Inf),
  labels = c("< 0.2", "0.2 - 0.4", ">= 0.4")),
  pd = cut(p.value, breaks = c(-Inf, 0.01, 0.05, Inf),
  labels = c("< 0.01", "0.01 - 0.05", ">= 0.05")))
 ​
 p = quickcor(varechem, type = "upper") +
  #geom_square() +
  geom_circle2() +
  anno_link(aes(colour = pd, size = rd), 
  data = mantel) +
  anno_link_label(geom = "label") +
  scale_size_manual(values = c(0.5, 1, 2)) +
  scale_colour_manual(values = c("#D95F02", "#1B9E77", "#A2A2A288")) +
  guides(size = guide_legend(title = "曼特爾檢驗r值",
  override.aes = list(colour = "grey35"), 
  order = 2),
  colour = guide_legend(title = "曼特爾檢驗p值", 
  override.aes = list(size = 3), 
  order = 1),
  fill = guide_colorbar(title = "皮爾森相關係數", order = 3))
 ​
 ggsave(p, filename = 'test.pdf', 
  width = 8, height = 6,#units = 'cm',
  device = cairo_pdf, 
  family = 'Song')
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章