r - hive 图中自边错误

标签 r networking plot hive

即使没有自边缘,也绝对无法弄清楚为什么会出现错误。
下面是一个可重现的代码。任何帮助都会很棒

library(HiveR)


nodes = data.frame(id = 1:9, lab = c("A","B","C","E","F","G","H","I","J"), 
axis = c(1,1,1,2,3,2,2,2,3), radius = rep(50,9),size = rep(10,9),
color = c("yellow","yellow","yellow", "green","red","green","green","green","red"))

edges = data.frame(id1 = c(1,2,3,4,5,4,1,9,8,6,1),id2 = c(2,3,4,1,9,9,9,8,7,7,6), 
weight = rep(1,11),
color = c(rep("green",7), rep("red",4)))
        test3 <- ranHiveData(nx = 3)
        test3$nodes = nodes
        test3$edges = edges
        test3$edges$color <- as.character(test3$edges$color)
        test3$edges$id1 <- as.integer(test3$edges$id1)
        test3$edges$id2 <- as.integer(test3$edges$id2)
        test3$nodes$color <- as.character(test3$nodes$color)
        test3$nodes$lab <- as.character(test3$nodes$lab)
        test3$nodes$axis = as.integer(test3$nodes$axis)
        test3$nodes$id = as.integer(test3$nodes$id)
        test3$nodes$radius = as.numeric(test3$nodes$radius)
        test3$nodes$size = as.numeric(test3$nodes$size)
        test3$edges$weight = as.numeric(test3$edges$weight)
        test3$desc = "3 axes --9 nodes -- 11 edges"
        sumHPD(test3, chk.sm.pt = TRUE)

代码给出了自身边缘,并且绘图未渲染plotHive(test3)显示

Error in calcCurveGrob(x,x$debug) : end points must not be identical

最佳答案

在您的代码中,轴节点的位置(半径)均设置为 50。
因此存在重叠点(轴 1 上有 3 个,轴 2 上有 4 个,轴 3 上有 2 个)。
正确定义半径可以解决问题。

library(HiveR)

# radius has been changed !
nodes = data.frame(id = 1:9, lab = c("A","B","C","E","F","G","H","I","J"), 
axis = c(1,1,1,2,3,2,2,2,3), radius = c(1,2,3,1,1,2,3,4,2),size = rep(1,9),
color = c("yellow","yellow","yellow", "green","red","green","green","green","red"))

edges = data.frame(id1 = c(1,2,3,4,5,4,1,9,8,6,1),id2 = c(2,3,4,1,9,9,9,8,7,7,6), 
weight = rep(1,11),
color = c(rep("green",7), rep("red",4)))
        test3 <- ranHiveData(nx = 3)
        test3$nodes = nodes
        test3$edges = edges
        test3$edges$color <- as.character(test3$edges$color)
        test3$edges$id1 <- as.integer(test3$edges$id1)
        test3$edges$id2 <- as.integer(test3$edges$id2)
        test3$nodes$color <- as.character(test3$nodes$color)
        test3$nodes$lab <- as.character(test3$nodes$lab)
        test3$nodes$axis = as.integer(test3$nodes$axis)
        test3$nodes$id = as.integer(test3$nodes$id)
        test3$nodes$radius = as.numeric(test3$nodes$radius)
        test3$nodes$size = as.numeric(test3$nodes$size)
        test3$edges$weight = as.numeric(test3$edges$weight)
        test3$desc = "3 axes --9 nodes -- 11 edges"
        sumHPD(test3, chk.sm.pt = TRUE)

plotHive(test3)

enter image description here

关于r - hive 图中自边错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44357001/

相关文章:

R 提取字符串/文档/语料库

r - 将数据框中定义的间隔映射到向量

r - 从 R 中的名称获取类向量的最快方法

Python Numpy 在具有共享轴的 3D 图和 2D 图之间添加 hspace

python - 如何使用点绘制 Pandas 数据框的两列

arrays - 如何确定数组中最大值的位置?

nginx - SageMaker TensorFlow 服务堆栈比较

Ubuntu - 仅更改子网掩码

ubuntu - 如何为玩具 MPI 集群配置静态 IP?

python - 如何使用 matplotlib 在轴上绘制带有参数的函数