我在R中使用riverplot
包。我能够制作一个Sankey图。我希望能够添加一个垂直标签(最好是在底部)。我找到了一个看似这样做的示例:http://www.statsmapsnpix.com/2016/08/research-with-qgis-r-and-speaking-to.html(我指的是图20,靠近顶部 - 像2004
和2015
这样的标签是我想要弄清楚如何创建)。
我自己怎么做?
这是一个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 A
和Node B
下的标签名为Left
,Node C
下的另一个标签名为Right
。
答案 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
)