使用riverplot的R Sankey图 - 垂直标签

时间:2017-06-15 18:39:12

标签: r label sankey-diagram riverplot

我在R中使用riverplot包。我能够制作一个Sankey图。我希望能够添加一个垂直标签(最好是在底部)。我找到了一个看似这样做的示例:http://www.statsmapsnpix.com/2016/08/research-with-qgis-r-and-speaking-to.html(我指的是图20,靠近顶部 - 像20042015这样的标签是我想要弄清楚如何创建)。

我自己怎么做?

这是一个MWE,直接取自https://cran.r-project.org/web/packages/riverplot/riverplot.pdf

的软件包文档
library(riverplot)
nodes <- c( LETTERS[1:3] )
edges <- list( A= list( C= 10 ), B= list( C= 10 ) )
r <- makeRiver( nodes, edges, node_xpos= c( 1,1,2 ),
node_labels= c( A= "Node A", B= "Node B", C= "Node C" ),
node_styles= list( A= list( col= "yellow" )) )
plot( r )

在此,我希望Node ANode B下的标签名为LeftNode C下的另一个标签名为Right

1 个答案:

答案 0 :(得分:2)

这是一种方法:

library(riverplot)
nodes <- c( LETTERS[1:3] )
edges <- list( A= list( C= 10 ), B= list( C= 10 ) )
r <- makeRiver( nodes, edges, node_xpos= c( 1,1,2 ),
node_labels= c( A= "Node A", B= "Node B", C= "Node C" ),
node_styles= list( A= list( col= "yellow" )) )
(coords <- plot(r))
#          A   B   C
# x        1   1   2
# top    -22 -10 -20
# center -17  -5 -10
# bottom -12   0   0
text(
  x = range(coords["x",]),
  y = min(coords["top",]),
  labels = c("left", "right"),
  pos = 1, offset = 0, font = 2
)

enter image description here

相关问题