R数据可视化23:Treemap图

大家新年快乐呀!好久好久没有写文了。过了一个懒散的新年,现在又要重新投入到科研之中啦。今天欣喜得知之前和师姐一起投的cover居然中了,值得写文纪念一下这个日子。今天来讲一个其实我觉得用处不大的Treemap。

什么是Treemap图

废话不多说,先上一张Treemap图。可以看到一个大矩形按照一定比例被分割成了多个大小不同的小矩形,每个小矩形代表着某一类别,不同颜色代表了不同类别。


图片来源:GoodData Developers

没错,这就是Treemap图。Treemap图,也可叫做矩形式树状结构绘图法,又称为矩形式树状结构图绘制法、树状结构矩形图绘制法,指的是一种利用嵌套式矩形来显示树状结构数据的方法。此种呈现方法能以不同颜色区块呈现不同类别,可以透过区块大小看出各类别数值大小比较。当该区块范围越大,代表该类别数值越大、越多。

虽然看似有趣,但是当各类别的差异不明显时,Treemap图难以体现出不同类别的差别,无法像bar图等展现出不同类别的细微差异,不过这种嵌套结构能够更好地展现出多个层级的情况。比如在上图中,绿色的都属于California,因此,可以发现California占比最大,进一步绿色中又是San Jose占比最大。

那么,下面让我们举一个具体的例子。之前,我们介绍过几个搜索文献的数据库,今天我们再次聚焦Web of Science。

Web of Science有一个功能是“Result Analysis”,可以对搜索的结果进行一些简单的分析,比如这一主题近年来的发文趋势、研究方向等。我在Web of Science中搜索了“gut microbiome”,并查看了分析结果中的“Institutions”,即肠道菌群领域中发文量前10的机构,得到了如下的Treemap图:

Topic: gut microbiome

可以看到University of California system(有那味了)是发文量最多的机构,然后依次分别是哈佛大学、中科院。

当然了,其实也不一定要局限于矩形,Reactome数据库上用了类似于水立方的形状来绘制Treemap图,体现pathway富集结果。颜色越黄的模块代表pvalue越显著。

来源:Reactome数据库

不过,总体来说,个人觉得这类可视化的方式可能在一些商业报告或者科学综述中更具有施展空间。在普通的研究论文中,或许还是不够直观,这也是我觉得用处有限的原因。毕竟鄙人科研狗一只。

如何作Treemap图

今天,我们用两种形式“复现”一下上图中Web of Science的分析结果。
第一种,就是最传统的Treemap图,使用treemap包。

library(treemap)
library(RColorBrewer)
ExampleWOS<-data.frame(group=c("USA","USA","China","France","USA","Ireland","USA","France","UK","USA"),
                       subgroup=c("UNIVERSITY OF CALIFORNIA SYSTEM","HARVARD UNIVERSITY","CHINESE ACADEMY OF SCIENCES",
                            "INSTITUT NATIONAL DE LA SANTE ET DE LA RECHERCHE MEDICALE INSERM",
                            "UNIVERSITY OF NORTH CAROLINA","UNIVERSITY COLLEGE CORK",
                            "UNIVERSITY OF CALIFORNIA SAN DIEGO","INRAE","UNIVERSITY OF LONDON",
                            "UNIVERSITY OF TEXAS SYSTEM"),
                      
                       value=c(4.770,3.083,1.821,1.758,1.578,1.495,1.495,1.466,1.389,1.374)
)
treemap(ExampleWOS,index=c("group","subgroup"),vSize="value",type="index",palette = "Set1")

第二种,我们将使用一个叫做voronoiTreemap的R包,把矩形变成圆形。这个包还可以有互动,不过没有仔细研究,感觉是用于网站可视化的。

library(voronoiTreemap)

vt_d3(vt_export_json(vt_testdata()))
#数据来源Web of Science
ExampleWOS<-data.frame(h1=rep("Total",10),
                       h2=c("USA","USA","China","France","USA","Ireland","USA","France","UK","USA"),
                       h3=c("UNIVERSITY OF CALIFORNIA SYSTEM","HARVARD UNIVERSITY","CHINESE ACADEMY OF SCIENCES",
                             "INSTITUT NATIONAL DE LA SANTE ET DE LA RECHERCHE MEDICALE INSERM",
                             "UNIVERSITY OF NORTH CAROLINA","UNIVERSITY COLLEGE CORK",
                             "UNIVERSITY OF CALIFORNIA SAN DIEGO","INRAE","UNIVERSITY OF LONDON",
                             "UNIVERSITY OF TEXAS SYSTEM"),
                       color=c("#FFD700","#FFD700","#CD0000","#00BFFF","#FFD700","#225EA8","#FFD700","#00BFFF","#9ACD32","#FFD700"),
                       weight=c(4.770,3.083,1.821,1.758,1.578,1.495,1.495,1.466,1.389,1.374)#占所有文章的比例
                       )
ExampleWOS$codes<-ExampleWOS$h3
head(ExampleWOS)
 h1      h2                                                               h3   color weight
1 Total     USA                                  UNIVERSITY OF CALIFORNIA SYSTEM #FFD700  4.770
2 Total     USA                                               HARVARD UNIVERSITY #FFD700  3.083
3 Total   China                                      CHINESE ACADEMY OF SCIENCES #CD0000  1.821
4 Total  France INSTITUT NATIONAL DE LA SANTE ET DE LA RECHERCHE MEDICALE INSERM #00BFFF  1.758
5 Total     USA                                     UNIVERSITY OF NORTH CAROLINA #FFD700  1.578
6 Total Ireland                                          UNIVERSITY COLLEGE CORK #225EA8  1.495
                                                             codes
1                                  UNIVERSITY OF CALIFORNIA SYSTEM
2                                               HARVARD UNIVERSITY
3                                      CHINESE ACADEMY OF SCIENCES
4 INSTITUT NATIONAL DE LA SANTE ET DE LA RECHERCHE MEDICALE INSERM
5                                     UNIVERSITY OF NORTH CAROLINA
6                                          UNIVERSITY COLLEGE CORK
gdp_json <- vt_export_json(vt_input_from_df(ExampleWOS))
vt_d3(gdp_json)

今天的分享就到这里啦~

往期R数据可视化分享
R数据可视化22: 怎么获取CNS级颜色搭配
R数据可视化21: Edge Bundling图
R数据可视化20: 弦图
R数据可视化19: 环状条形图
R数据可视化18: 弧形图
R数据可视化17: 桑基图
R数据可视化16: 哑铃图
R数据可视化15: 倾斜图 Slope Graph
R数据可视化14: 生存曲线图
R数据可视化13: 瀑布图/突变图谱
R数据可视化12: 曼哈顿图
R数据可视化11: 相关性图
R数据可视化10: 蜜蜂图 Beeswarm
R数据可视化9: 棒棒糖图 Lollipop Chart
R数据可视化8: 金字塔图和偏差图
R数据可视化7: 气泡图 Bubble Plot
R数据可视化6: 面积图 Area Chart
R数据可视化5: 热图 Heatmap
R数据可视化4: PCA和PCoA图
R数据可视化3: 直方/条形图
R数据可视化2: 箱形图 Boxplot
R数据可视化1: 火山图

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,362评论 5 477
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,330评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,247评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,560评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,580评论 5 365
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,569评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,929评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,587评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,840评论 1 297
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,596评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,678评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,366评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,945评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,929评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,165评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 43,271评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,403评论 2 342

推荐阅读更多精彩内容

  • 突变相关分析的时候我们经常会选择瀑布图进行展示,瀑布图看起来十分的复杂高端,但是实际上只需要用一个GenVisR的...
    jlyq617阅读 25,381评论 6 62
  • 每次有正事的时候就想逃避写个简书,假装自己没有干不正经的事。(明明我还有一些数据需要分析呢,但是毫无分析的动力。)...
    jlyq617阅读 6,321评论 8 32
  • N久没有更新了,最近一段时间有点繁忙。今天,一起来学习一下一个和Circo图差不多的图:Edge Bunding图...
    jlyq617阅读 6,787评论 10 56
  • 之前我们已经讲过很多条形图啦,但是今天我们再来讲一种条形图——环状条形图(Circular barplot)。当厌...
    jlyq617阅读 10,856评论 10 53
  • 今天感恩节哎,感谢一直在我身边的亲朋好友。感恩相遇!感恩不离不弃。 中午开了第一次的党会,身份的转变要...
    迷月闪星情阅读 10,548评论 0 11