美文网首页R语言作图
2019-04-10 R画 桑葚图 (sankeycharts

2019-04-10 R画 桑葚图 (sankeycharts

作者: pebble329 | 来源:发表于2019-04-10 16:39 被阅读0次

转自   R桑基图 - wenyusuran的专栏 - CSDN博客 https://blog.csdn.net/wenyusuran/article/details/80674577

桑基图(Sankey diagram),即桑基能量分流图,也叫桑基能量平衡图。它是一种特定类型的流程图,图中延伸的分支的宽度对应数据流量的大小,通常应用于能源、材料成分、金融等数据的可视化分析。因1898年Matthew Henry Phineas Riall Sankey绘制的“蒸汽机的能源效率图”而闻名,此后便以其名字命名为“桑基图”。桑基图最明显的特征就是,始末端的分支宽度总和相等,即所有主支宽度的总和应与所有分出去的分支宽度的总和相等,保持能量的平衡。

    制作工具就有:JS库(D3、Ecgarts、highlight)、R、Python、PowerBI、Tableau、BDP个人版。

    在R里,有三个包可以绘制桑基图:

    library(riverplot)        

    library("d3Network")

    library(Networkd3)

    然而第一个包特色过于鲜明,第二个包对中文不太友好,所以个人偏向于第三个包。

---------------------

作者:文宇肃然

来源:CSDN

原文:https://blog.csdn.net/wenyusuran/article/details/80674577

版权声明:本文为博主原创文章,转载请附上博文链接!


library(networkD3)

setwd('D:/rscript/')

#a=read.csv("m.csv")#a为合并之后的数据

a  <- read.csv('1.csv',header=TRUE,fileEncoding='utf-8')

a$s  =  as.character(a$s) #  导入数据的起点终点是factor类型,需要将其转为chr,否则之后unique的是因子水平,不能进行合并。

a$t  =  as.character(a$t)

Sankeylinks<-a

Sankeynodes<-data.frame(name=unique(c(Sankeylinks$s,Sankeylinks$t))) 

Sankeynodes$index<-0:(nrow(Sankeynodes)  -  1)

Sankeylinks<-merge(Sankeylinks,Sankeynodes,by.x="s",by.y="name")

Sankeylinks<-merge(Sankeylinks,Sankeynodes,by.x="t",by.y="name")

Sankeydata<-Sankeylinks[,c(4,5,3)];

names(Sankeydata)<-c("Source","Target","Value")

Sankeyname<-Sankeynodes[,1,drop=FALSE]

sankeyNetwork(Links=Sankeydata,Nodes=Sankeyname,  Source  ="Source",

              Target  =  "Target",  Value  =  "Value",  NodeID  =  "name",

              fontSize  =  12,  nodeWidth  =  30)

相关文章

  • 2019-04-10 R画 桑葚图 (sankeycharts

    转自 R桑基图 - wenyusuran的专栏 - CSDN博客 https://blog.csdn.net/w...

  • R语言之ggplot2画图篇

    R语言之ggplot2画图篇

  • PCA,heatmap热图在线绘制工具

    PCA,heatmap图都是经典的群体分类展示图,用R画网上教程很多,不过如果R没有配置好,或者R包装不上,再或者...

  • 学习小组Day4笔记--LA

    R语言 1.下载R和Rstudio 2.R语言的基本操作 1画图 plot是图,rnorm是正态分布的函数plot...

  • 【R】R代码记录

    R包——Mutational Pattern画突变频谱图 效果图:原文:https://www.jianshu.c...

  • 曼哈顿图R工具总结

    最近需要画曼哈顿图,发现CMplot画的图还挺好看的。 于是想看看还有别的R包可以做曼哈顿图。 gwaRs[htt...

  • 推荐 | ggplot2大全+

    推荐最近看到一个可能是最全的R可以画的图的网站,想做啥图基本都能找到。https://www.r-graph-ga...

  • R语言画热图

    setwd("/Users/apple/desktop/R")data<-read.table("zyfhqg.t...

  • R 画韦恩图

    调用包 VennDiagram 两个集的韦恩图 四个集的韦恩图 venn.diagram()画韦恩图 当前路径下生...

  • R画韦恩图

    承接上一篇的数据,画一个韦恩图,出来的是在三个GEO数据集中均上调或均下调的基因的交集图。代码如下: 首先我们用上...

网友评论

    本文标题:2019-04-10 R画 桑葚图 (sankeycharts

    本文链接:https://www.haomeiwen.com/subject/ookoiqtx.html