根据包含参与者之间关系的数据帧的列更改边缘厚度

Mar*_*ark 4 plot r igraph

此代码根据参与者和关系的数据帧绘制图表。

library(igraph)
actors <- data.frame(name=c("Alice", "Bob", "Cecil", "David",
                            "Esmeralda"))
relations <- data.frame(from=c("Bob", "Cecil", "Cecil", "David",
                               "David", "Esmeralda"),
                        to=c("Alice", "Bob", "Alice", "Alice", "Bob", "Alice"),
                        friendship=c(4,15,5,2,11,1))
g <- graph_from_data_frame(relations, directed=TRUE, vertices=actors)

plot(g)
Run Code Online (Sandbox Code Playgroud)

结果是:

在此输入图像描述

我想根据 的值更改弧的厚度(而不是长度)relations$friendship

Tho*_*ing 8

尝试

plot(g,edge.width = E(g)$friendship, edge.arrow.size = E(g)$friendship)
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述


请注意, 的第一个值E(g)$friendship被分配给edge.arrow.size,而不是向量。也许改进的功能会添加到未来的igraph版本中。

arrow.size箭头的大小。目前这是一个常数,因此每条边都是相同的。如果提交向量,则仅使用第一个元素,即。如果这是从边缘属性获取的,则只有第一条边缘的属性用于所有箭头。这在未来可能会改变。

默认值为 1。

arrow.width箭头的宽度。目前这是一个常数,因此每条边都是相同的。如果提交向量,则仅使用第一个元素,即。如果这是从边缘属性获取的,则只有第一条边缘的属性用于所有箭头。这在未来可能会改变。

该参数目前仅由plot.igraph 使用。

默认值为 1,其宽度与 igraph 中出现此选项之前的宽度相同。