R可視化——矩形樹圖的繪制

???? \color{red}{矩形樹圖(Treemap)}%是一種表示樹形數(shù)據(jù)的樹形關(guān)系及各個(gè)分類的占比的圖形,適合展現(xiàn)具有層級(jí)關(guān)系的數(shù)據(jù),能夠直觀體現(xiàn)同級(jí)之間的比較。

安裝、加載所需R包

#安裝包
install.packages("treemap")
#加載包
library(treemap)

數(shù)據(jù)

#數(shù)據(jù)——隨機(jī)生成繪圖數(shù)據(jù)
set.seed(12)#種子
df <- data.frame(
  samples=LETTERS[1:10],
  group=rep(c('x','y'), 5),
  value=sample(1:100, 10, replace = FALSE))
image.png

繪圖

1、查看繪圖參數(shù):
#查看參數(shù)
??treemap
treemap(dtf,index,vSize,vColor = NULL,stdErr = NULL,
  type = "index",fun.aggregate = "sum",title = NA,title.legend = NA,
  algorithm = "pivotSize",sortID = "-size",mirror.x = FALSE,mirror.y = FALSE,
  palette = NA,palette.HCL.options = NULL,range = NA,mapping = NA,
  n = 7,na.rm = TRUE,na.color = "#DDDDDD",na.text = "Missing",
  fontsize.title = 14,fontsize.labels = 11,
  fontsize.legend = 12,fontcolor.labels = NULL,
  fontface.labels = c("bold", rep("plain", length(index) - 1)),
  fontfamily.title = "sans",fontfamily.labels = "sans",
  fontfamily.legend = "sans",border.col = "black",
  border.lwds = c(length(index) + 1, (length(index) - 1):1),
  lowerbound.cex.labels = 0.4,inflate.labels = FALSE,bg.labels = NULL,
  force.print.labels = FALSE,overlap.labels = 0.5,align.labels = c("center", "center"),
  xmod.labels = 0,ymod.labels = 0,eval.labels = FALSE,position.legend = NULL,
  reverse.legend = FALSE,format.legend = NULL,drop.unused.levels = TRUE,
  aspRatio = NA,vp = NULL,draw = TRUE,...)

?? ? ? 下面簡(jiǎn)單介紹常見的幾種圖形繪制,如果大家感興趣可以根據(jù)treemap()函數(shù)中的參數(shù)繪制自己喜歡的Treemap!

2、單一分組變量——只通過“samples”單一分類變量進(jìn)行繪圖:

1)根據(jù)值大小填色

treemap(df, #數(shù)據(jù)
        index = "samples",#分類變量
        vSize = "value",#分類變量對(duì)應(yīng)數(shù)據(jù)值
        vColor="value",#顏色深淺的對(duì)應(yīng)列
        type = "value",#"顏色映射方式,"index"、"value"、"comp"、"dens"、"depth"、"categorical"、"color"、"manual"
        title = 'Treemap',#標(biāo)題
        border.col = "grey",#邊框顏色
        border.lwds = 4,#邊框線寬度
        fontsize.labels = 12,#標(biāo)簽大小
        fontcolor.labels = 'red',#標(biāo)簽顏色
        align.labels = list(c("center", "center")),#標(biāo)簽位置
        fontface.labels = 2)#標(biāo)簽字體:1,2,3,4 表示正常、粗體、斜體、粗斜體
image.png

2)根據(jù)分類填色

treemap(df, #數(shù)據(jù)
        index = "samples",#分類變量
        vSize = "value",#分類變量對(duì)應(yīng)數(shù)據(jù)值
        vColor="index",#顏色深淺的對(duì)應(yīng)列
        type = "index",#"顏色映射方式,"index"、"value"、"comp"、"dens"、"depth"、"categorical"、"color"、"manual"
        title = 'Treemap',#標(biāo)題
        border.col = "grey",#邊框顏色
        border.lwds = 4,#邊框線寬度
        fontsize.labels = 12,#標(biāo)簽大小
        fontcolor.labels = 'white',#標(biāo)簽顏色
        align.labels = list(c("center", "center")),#標(biāo)簽位置
        fontface.labels = 2)#標(biāo)簽字體:1,2,3,4 表示正常、粗體、斜體、粗斜體
image.png
3、多個(gè)分類變量——基于“group”、“samples”兩個(gè)分類變量進(jìn)行繪圖:

1)根據(jù)值大小填色

treemap(df, #數(shù)據(jù)
        index = c("group","samples"),#分類變量
        vSize = "value",#分類變量對(duì)應(yīng)數(shù)據(jù)值
        vColor="value",#顏色深淺的對(duì)應(yīng)列
        type = "value",#"顏色映射方式,"index"、"value"、"comp"、"dens"、"depth"、"categorical"、"color"、"manual"
        title = 'Treemap',#標(biāo)題
        border.col = c("black","white"),#邊框顏色
        border.lwds = c(4,1),#邊框線寬度
        fontsize.labels = c(18,10),#標(biāo)簽大小
        bg.labels=c("transparent"),#標(biāo)題背景色
        fontcolor.labels = c('white',"orange"),#標(biāo)簽顏色
        align.labels = list(c("left", "top"),
                            c("center", "center")),#標(biāo)簽位置
        fontface.labels = c(2,3))#標(biāo)簽字體:1,2,3,4 表示正常、粗體、斜體、粗斜體
image.png

2)根據(jù)分類填色

treemap(df, #數(shù)據(jù)
        index = c("group","samples"),#分類變量
        vSize = "value",#分類變量對(duì)應(yīng)數(shù)據(jù)值
        palette = "Set1",#自定義調(diào)色
        vColor="index",#顏色深淺的對(duì)應(yīng)列
        type = "index",#"顏色映射方式,"index"、"value"、"comp"、"dens"、"depth"、"categorical"、"color"、"manual"
        title = 'Treemap',#標(biāo)題
        border.col = c("black","white"),#邊框顏色
        border.lwds = c(4,1),#邊框線寬度
        fontsize.labels = c(18,10),#標(biāo)簽大小
        bg.labels=c("transparent"),#標(biāo)題背景色
        fontcolor.labels = c('white',"orange"),#標(biāo)簽顏色
        align.labels = list(c("left", "top"),
                            c("center", "center")),#標(biāo)簽位置
        fontface.labels = c(2,3))#標(biāo)簽字體:1,2,3,4 表示正常、粗體、斜體、粗斜體
image.png
參考:https://r-graph-gallery.com/treemap.html
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容