我正在使用 Riverplot 创建 Sankey 图并将它们放在一个图中以创建具有三个图的连续外观。我的问题是我只想要最外面的左右节点上的节点标签,而不是里面。
我已经设法使用以下代码从中间图中删除了标签以创建对象,但我想知道是否有办法只删除标签的一侧。我试过创建空白节点标签,但是当我这样做时,情节的两边都会被删除。
make_rp = function(edges) {
nodes = data.frame(ID=unique(c(edges$N1, edges$N2)),
x=rep(c(1,2), each=9))
style = sapply(nodes$ID, function(id)
list(col=cols[gsub('( |) ', '', id)]),
simplify=FALSE)
rp = makeRiver(nodes, edges, styles=style)
}
make_rp_inner = function(edges) {
nodes = data.frame(ID=unique(c(edges$N1, edges$N2)),
x=rep(c(1,2), each=9))
style = sapply(nodes$ID, function(id)
list(col=cols[gsub('( |) ', '', id)]),
simplify=FALSE)
rp = makeRiver(nodes, edges, styles=style, node_labels=c('','','','','','','','',''))
}
这是我的绘图代码:
par(mar=c(0,0,0,0), mfrow=c(1,3), cex=1.2)
riverplot(rp_90_00,srt=0, plot_area=c(1,.7), gravity='top',
nodewidth=1.2, node_margin=0.2, fix.pdf=TRUE)
riverplot(rp_00_10,srt=0, plot_area=c(1,.7), gravity='top',
nodewidth=1, node_margin=0.2, fix.pdf=TRUE) # uses rp_innner function
riverplot(rp_10_20,srt=0, plot_area=c(1,.7), gravity='top',
nodewidth=1.4, node_margin=0.2, fix.pdf=TRUE)
这是我目前拥有的情节,我希望除去外面的所有标签。 我担心如何设置 Riverplot 包可能是不可能的,但我们将不胜感激。