我在R Riverplot中制作了一个Sankey图(v0.5),在RStudio中输出看起来很小,但是当导出或放大时,颜色有黑色轮廓或网格线.
我想这可能是因为形状的轮廓与我想用于填充的透明度不匹配?
我可能需要找到一种方法来完全摆脱轮廓(而不是让它们半透明),因为我认为它们也是为什么值为零的流仍然显示为细线的原因.
我的代码在这里:
#loading packages
library(readr)
library("riverplot", lib.loc="C:/Program Files/R/R-3.3.2/library")
library(RColorBrewer)
#loaing data
Cambs_flows <- read_csv("~/RProjects/Cambs_flows4.csv")
#defining the edges
edges = rep(Cambs_flows, col.names = c("N1","N2","Value"))
edges <- data.frame(edges)
edges$ID <- 1:25
#defining the nodes
nodes <- data.frame(ID = c("Cambridge","S Cambs","Rest of E","Rest of UK","Abroad","to Cambridge","to S Cambs","to Rest of E","to Rest of UK","to Abroad"))
nodes$x = c(1,1,1,1,1,2,2,2,2,2)
nodes$y = c(1,2,3,4,5,1,2,3,4,5)
#picking colours
palette = paste0(brewer.pal(5, "Set1"), "90")
#plot styles
styles = lapply(nodes$y, function(n) {
list(col = palette[n], lty = …Run Code Online (Sandbox Code Playgroud) 使用案例: 我使用riverplot包绘制sankey图表.我需要调整图中节点标签的文本大小.在我的情况下,默认大小太大了.
问题,我已经尝试过了:
不幸的是,包不适用于cex参数.该软件包的开发人员没有向我提供指导.r可
重现的例子:
library(riverplot)
plot(riverplot.example())
Run Code Online (Sandbox Code Playgroud)
产生:

题:
如何将节点标签(A,B,...)调整为比默认值更小或更大的尺寸?
我想将值附加到R中河流图中的标签
我有一个值列表列表,这是显示节点之间的流量所必需的,如下所示:
edges <- list( A= list( C= 10, E= 5 ),
B= list( C= 10 ),
C=list(D = 13, E = 7 ))
Run Code Online (Sandbox Code Playgroud)
我知道一个函数可以减少(或求和)列表中的一个元素,如下所示:Reduce("+",edge $ A)
有没有办法将这样的值列表减少到数据帧,或者我可以得到总和:
Node Sum
A 15
B 10
C 20
D 13
E 12
Run Code Online (Sandbox Code Playgroud)
编辑:
我刚刚意识到有一个混乱:看起来我需要两个输出,它可能有点复杂:1.如果'edge'列表有一个带有类别名称的子列表,总结2.如果没有,得到总和这个项目的所有出现
案例1:类别A,B,C(这些是起始节点)案例2:类别D,E(这些是河流图中的末端节点)
我很抱歉这个混乱.