3

我一直在摆弄 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)
4

1 回答 1

1

事实证明,riverplot 包中有一个小错误。包作者已经修复了它,新版本(v0.3)在这种情况下可以正常工作。

于 2014-08-14T13:22:23.260 回答