我正在使用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)这是我目前的情节,我希望除外部标签之外的所有标签都被移除。

我担心这可能是不可能的,与河川计划的包是如何建立,但任何帮助将不胜感激。
发布于 2022-02-07 07:20:40
我找到了一些解决这个问题的方法,尽管它涉及到大量的手动输入。最后,我不得不删除所有的节点标签。主要思想是node_labels本质上是空的,但不能简单地将其定义为=NULL。以下代码是我所做工作的简化版本:
plot_n = makeRiver(nodes=nodes, edges=edges, styles=style,
node_labels=c('','','','','','','','',''))然后,我手动添加标签到情节中。
par(mfrow=c(1,3))
riverplot(plot_1)
text("LDW", x = 0.04, y = .88)
text("MDW", x = 0.04, y = .72)
text("LDL", x = 0.04, y = .615)
text("MDL", x = 0.04, y = .523)
text("LDB", x = 0.04, y = .425)
text("MDB", x = 0.04, y = .33)
text("LDA", x = 0.04, y = .235)
text("MDA", x = 0.04, y = .15)
text("HD", x = 0.03, y = .06)
riverplot(plot_2)
riverplot(plot_3)
text("LDW", x = .96, y = .915)
text("MDW", x = 0.96, y = .762)
text("LDL", x = 0.96, y = .64)
text("MDL", x = 0.96, y = .54)
text("LDB", x = 0.96, y = .44)
text("MDB", x = 0.96, y = .341)
text("LDA", x = 0.96, y = .246)
text("MDA", x = 0.96, y = .155)
text("HD", x = 0.98, y = .063)我注意到,不同的结果发生在pdf与png,jpeg等格式,但调整是相当容易的,一旦确定了一般要点。我希望这能帮助任何有类似问题的人,直到找到或实现更好的解决方案。下面的图片是我问题中的一个固定版本。

https://stackoverflow.com/questions/70981201
复制相似问题