我一直在摆弄 Riverplot 包,并产生了一些非常有吸引力和说明性的结果。我现在正在尝试制作一个更复杂的情节,而我得到的一些结果有点出乎意料。我有一个最小的例子来说明这个问题。这是情节:
我的问题在于节点 B、C 和 E 的宽度。这些图的想法(据我所知)是节点的宽度由流入/流出节点的河流的总宽度决定。现在对于节点 A、D 和 F,情况确实如此。但是其他三个节点比它们连接的河流更宽/更窄。这不是什么大不了的事,但它确实减损了情节的影响。
要么我在构建数据时犯了错误,要么我误解了包内部的工作方式。无论哪种情况,我都非常感谢任何反馈!
最好的问候,安德鲁。
这是代码。数据结构用 dput() 转储。
library(riverplot)
RP <- structure(list(
nodes = structure(
list(
ID = structure(c(1L, 3L, 5L, 2L, 4L, 6L), .Label = c("A", "D", "B", "E", "C", "F"), class = "factor"),
x = c(1L, 1L, 1L, 2L, 2L, 2L)
), .Names = c("ID", "x"), row.names = c("A", "B", "C", "D", "E", "F"), class = "data.frame"),
edges = structure(
list(
N1 = c("A", "A", "A", "B", "B", "B", "C", "C", "C"),
N2 = c("D", "E", "F", "D", "E", "F", "D", "E", "F"),
Value = c(0.265, 0.372, 0.572, 0.908, 0.201, 0.898, 0.944, 0.660, 0.629)
), .Names = c("N1", "N2", "Value"), row.names = c(NA, -9L), class = "data.frame")),
.Names = c("nodes", "edges"), class = c("list", "riverplot"))
plot(RP, plot_area = 0.85)