r igraph edge.lty 属性未按宣传的那样工作

标签 r igraph

线类型属性 lty 在为边缘子集设置时似乎不起作用

我已经编辑了原始示例,该示例过于简单化。感谢 G5W 的初步回复。下面的代码捕获了我遇到的问题。

我有一个顶点对矩阵,我想将每对之间的边的 lyt 值设置为“点状”(值 2)。正如您所看到的,代码适用于 color 属性,但不适用于 lyt 属性

library(igraph)

m = matrix( c(1, 10, 7, 8), nrow=2,ncol=2,byrow = TRUE) 

g <- graph.ring(10)

E(g)$color = "black"
E(g)$lty = 1
E(g)$width = 1

for(j in 1:nrow(m)){
  E(g)[m[j,1] %--% m[j,2]]$color <- "indianred"
  E(g)[m[j,1] %--% m[j,2]]$label <- "x"
  E(g)[m[j,1] %--% m[j,2]]$width <- 3
  E(g)[m[j,1] %--% m[j,2]]$lyt <- 2
}
plot(g)
E(g)$lty

您知道为什么颜色、宽度和标签属性设置正确,但 lyt 属性设置不正确吗?

plot generated by code above

最佳答案

问题是,如果您只设置一个这样的值,则其余值都是未定义的。

g <- graph.ring(10)
E(g)[2]$lty <- 2
E(g)$lty
 [1] NA  2 NA NA NA NA NA NA NA NA

如果您希望大多数边为默认值 (type = 1),而只有一条为 type = 2,请首先将所有边设置为 1,然后更改一条边。

E(g)$lty = 1
E(g)[2]$lty <- 2
plot(g)

Ring

关于r igraph edge.lty 属性未按宣传的那样工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49576269/

相关文章:

在 R (Windows) 中从 C 创建一个 dll 动态库

r - 使用 ggplot2 在构面中包含未使用的因子水平

python - 安装后我无法在 python 2.6 上导入 igraph

r - igraph:从布局中删除顶点

R dplyr 根据多个选定列的条件过滤行

r - 通过按钮/单击过滤数据表 (R Flexdashboard)

r - 将边着色为与 igraph 中节点相同的颜色

r - 使用 R 的 igraph 中的迭代器 V 和 E 如何工作?

在某个值第一次出现后删除行

python - 从边缘列表创建图形时的初始节点 ID