如何重新排列 igraph 图中边的顺序?

2024-02-05

我正在尝试在 igraph 中制作一个网络图,通过对某些重要边缘进行不同的着色来突出显示某些重要边缘。对于大图,它们经常被埋在其他图下面。例如:

library(igraph)
test <- barabasi.game(200,m=2)
E(test)$color <- "gray"
E(test)[1]$color <- "red"
sort(order(E(test)$color)[E(test)],decreasing=TRUE)
plot(test,
     vertex.label=NA,
     vertex.shape="none",
     vertex.size=0,
     edge.arrow.mode=0,
     edge.width=2) 

gives me a plot where the single red edge is at the bottom. this plot makes me sad If I choose to color a higher-numbered edge (rather than #1) it has a better chance of not being buried.

所以在我看来,一种选择是以某种方式重新排列边缘。我试过

E(test) <- E(test)[order(E(test)$color)]

但这给我带来了“无效索引”错误。关于我还应该尝试什么的任何想法?


igraph 按照边在图形边列表中出现的顺序绘制边,所以你是对的,ID 较高的边将绘制在 ID 较低的边之上。不幸的是 igraph 没有提供一种简单的方法来重新排序图的边缘(尽管它有一个名为permute.vertices,这将允许您排列顶点),所以我现在能想到的唯一方法是您需要构造另一个图,其中边处于“正确的顺序”。make_graph确保边完全按照您指定的顺序存储在图中,我认为也是如此graph_from_data_frame.

另一种选择(如果您不想重建整个图)是将图绘制两次:首先绘制“不太重要”的边并将重要边的宽度设置为零,然后绘制重要的边边缘在顶部。

如果您希望在即将推出的 igraph 版本中支持边排列,请提交功能请求 https://github.com/igraph/igraph/issues在 Github 上。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何重新排列 igraph 图中边的顺序? 的相关文章

  • 如何在R中得到一个大的稀疏矩阵? (> 2^31-1)

    我使用一些 C 代码从数据库中获取文本文件 并从该文件创建 dgcMatrix 类型稀疏矩阵Matrix包裹 我第一次尝试构建一个具有超过 2 31 1 个非稀疏成员的矩阵 这意味着稀疏矩阵对象中的索引向量也必须比该限制长 不幸的是 向量似
  • grep() 搜索数据框的列名

    有没有更清晰 更简单 更直接 更短的方法来做到这一点 其中 df1 是数据框 names df1 grep Yield names df1 我想返回任何包含单词 yield 的列名称 Thanks grep has a value应该适用于
  • 可以明确声明包依赖项的版本吗?

    我倾向于对我编写的代码进行明确而不是隐含的描述 因此 在成功创建自己的包之后 我立即想到的下一件事是如何最好地确保代码的健壮性和可靠性 其中一部分与我的包所依赖的包有关 实际问题 在这方面 是否可以明确声明需要 期望哪个版本的包依赖项 我正
  • R 中的 NA 替换函数

    我正在尝试替换矩阵中的 NA mat 零 我在用着mat is na mat lt 0 当我有 18946 个变量的 94531 个观察值或更小的矩阵时 效果很好 但我在 22752 个变量的 112039 个观察值的矩阵上尝试它 R 显示
  • 将 JSON URL 转换为 R 数据帧

    我在将 JSON 文件 从 API 转换为 R 中的数据帧时遇到问题 例如 URL 我尝试了 S O 的一些不同建议 包括将json数据转换为R中的数据框 https stackoverflow com questions 28683769
  • 将值替换为其各自列的名称

    我有一个数据框 Code 401k CVS 101A true 231N true FD54 true 99JB 85F4 true 我试图用相应的列名称 例如 401k 替换 true 字符值 这是我想要的输出 Code 401k CVS
  • 使用 R 的 flextable 包时,有没有办法将传递给 add_header_lines() 的字符串部分加粗

    我正在使用我喜欢的 flextable 包为 Word 文档创建几个表格 但是 我在将表格标题中的部分文本加粗时遇到了一些麻烦 例如 我希望标题为 Table 1 我的表格标题的其余部分 而不是 表 1 我的表格标题的其余部分 I 找到这个
  • 将列表中的列转换为 R 中的数据框

    我有使用 R 创建的以下列表 set seed 326581 X1 rnorm 10 0 1 Y1 rnorm 10 0 2 data data frame X1 Y1 lst lt replicate 100 df smpl lt dat
  • ggplot 中的错误问题:“grid.Call(”L_textBounds“, as.graphicsAnnot(x$label), x$x, x$y, … 中的错误”[重复]

    这个问题在这里已经有答案了 我试图在 ggplot 中制作一个条形图 其中我通过强制其中一些标签为长度为零的字符串 即 来指定要显示的标签 但是 我收到错误 Error in grid Call L textBounds as graphi
  • R 编程:如何计算数据框中两个单元格之间的差异并将它们保存在新列中

    尝试学习 R 并陷入自相关示例中 我想将 x 的差异与 y 的差异进行回归 我在数据框中有 x 和 y 并且希望将 x2 x1 的差值保存在新列 例如 dx 中 我不知道该怎么做 我拥有的 data1 x y 5 3 8 9 3 1 1 5
  • 如何更改 Shiny 中 navbarPage 折叠的断点

    我想用shiny navbarPage collapsible TRUE 当在小屏幕上查看我的 Shiny 应用程序时 将导航元素折叠到菜单中 默认情况下 当浏览器宽度小于 940 像素时会触发折叠 有什么方法可以改变这一点 以便在稍大的浏
  • 将数据从 R 导出到 Excel

    我试图将从 R 获得的一些结果导出到 Excel 中 但未成功 我尝试过以下代码 write table ALBERTA1 D ALBERTA1 txt sep t write csv ALBERTA1 ALBERTA1 csv your
  • 比较 R 中的两个字符向量

    我有两个 ID 字符向量 我想比较这两个字符向量 特别是我对以下数字感兴趣 A和B各有多少个ID 有多少个ID在A中但不在B中 有多少个ID在B但不在A 我还想画维恩图 以下是一些可以尝试的基础知识 gt A c Dog Cat Mouse
  • 如何将此“for”循环转换为向量解

    这个问题与 将嵌入其他文本的长州名称转换为两个字母的州缩写 https stackoverflow com questions 25582518 convert long state names embedded with other te
  • R:表格格式

    我有一个包含以下列的 Excel 文件 Column1 Column2 Column3 ab bb 0 5 ab bc 0 1 ab cd 0 7 ab dd 0 8 ac bb 0 2 ac bg 0 8 ac ee 0 8 ac dd
  • 表单提交时出现 rvest 错误

    我想从以下网页中抓取数据 https swgoh gg u zozo collection 180 emperor palpatine https swgoh gg u zozo collection 180 emperor palpati
  • 如何计算嵌套函数中的粘合表达式?

    我正在尝试嵌套一个函数 该函数将两个字符串粘合在一起 该函数使用组合字符串来命名数据帧的列 然而 问题似乎是粘合表达式没有足够早地评估为字符串 我可以 并且应该 强制在将表达式作为参数传递给另一个函数之前对其进行求值吗 library ti
  • R:将 JSON 时间格式转换为 POSIX

    我有一个 JSON 字符串 并将其放入数据框中 我能够做到这一点 但我在使用 apply 函数之一将所有时间字符串转换为 POSIX 格式时遇到问题 See here https stackoverflow com questions 90
  • 使用predictNLS围绕R中的拟合值创建置信区间?

    我想使用 R 中 propogate 包中的 PredictNLS 围绕一大组拟合值构建置信区间 作为示例 我将使用它们在函数描述中引用的数据集 https rdrr io github anspiess propagate man pre
  • 具有 dplyr、tidyverse 和 broom 的相关矩阵 - P 值矩阵

    全部 我想使用以下方法从相关矩阵中获取 p 值dplyr 和 或扫帚包 并同时测试多个变量 我知道其他方法 但 dplyr 对我来说似乎更简单 更直观 此外 dplyr 需要关联每个变量以获得特定的 p 值 这使得该过程更容易 更快 我检查

随机推荐

  • 打印类的所有实例

    对于 Python 中的类 如何定义一个函数以按照函数中定义的格式打印该类的每个实例 在这种情况下我看到两个选择 垃圾收集器 import gc for obj in gc get objects if isinstance obj som
  • 如何使用 docker 文件运行 docker 命令

    我有一些在终端中运行的基本 docker 命令 现在我想要的是将所有基本 docker 命令使用到一个 docker 文件中 然后构建该 docker 文件 例如 考虑两个 docker 文件 文件 Docker1 Docker2 Dock
  • 指针到指针不支持 C++ 多态性

    我正在寻找一种正确的方法来清洁我的指针 这里是示例代码 class Parent protected int m Var public Parent m Var 0 virtual Parent void PubFunc class Chi
  • RVM 查找系统 gem 的可执行文件

    我已经安装了 RVM 和 ruby 版本 但是 如果我启动控制台并运行命令rails server bundle install等 我会收到此错误 bash usr bin rails usr bin ruby1 8 bad interpr
  • ModelAdmin 线程安全/缓存问题

    最终 我的目标是扩展 Django 的 ModelAdmin 以提供字段级权限 也就是说 给定请求对象的属性和正在编辑的对象的字段值 我想控制字段 内联是否可见给用户 我最终通过添加一个来实现这一点can view field 方法到 Mo
  • Python 中“while”和“for xrange”哪个更快

    我们可以进行数值迭代 如下所示 for i in xrange 10 print i 在 C 风格中 i 0 while i lt 10 print i i i 1 是的 我知道 第一个不太容易出错 更Pythonic 但它作为C 风格版本
  • UIImagePickerControllercameraViewTransform 在 iOS 10 中不起作用

    我已经在我的应用程序中实现了相机覆盖视图 相机覆盖视图在 iOS 9 中工作良好 但 iOS 10cameraViewTransform 无法工作如何解决此问题 请指导我 谢谢 我的工作代码 CGSize screenBounds UISc
  • 多个子查询

    是否可以从同一个表的日期记录中得到如下结果 Enrolled Enrolled as Email Enrolled as Text Deals Redeemed
  • C++ 构造函数中抛出异常

    我创建了一个类 如果一个成员为空 我不想创建该对象 这些是代码行 include verification CVerifObj hpp VerifObj VerifObj const fs path imgNameIn m image cv
  • 在 NSManagedObjectsDidChangeNotification 创建无限循环后设置 lastModificationDate 属性

    我添加了一个最后修改日期属性到我的所有实体以避免同步时重复UIManagedDocument使用 iCloud 我发现如果我使用离线设备 iPad 创建新实体 同时使用另一个在线设备 iPhone 创建相同的实体 就会发生这种情况 我想在对
  • 如何动态向类添加属性

    我想创建一个错误类 并且它具有一些静态属性 例如 Message InnerException Stacktrace Source 但我想添加一些动态属性 如果异常是FileNotFoundException 我想补充一下FileName财
  • 我应该保留错误的命名约定吗?

    我目前正在开发一个网站 这个网站经过了天知道有多少开发者之手 我不喜欢它的一件事是数据库中的每个表都有前缀 tbl 和每个字段 fld 我已经开始开发一项新功能 但面临以下问题 我的新表是否应该继续使用旧约定 我想我应该这样做 但我觉得这样
  • Python Telegram Bot - run_daily 不起作用

    我有与此相同的问题thread https stackoverflow com questions 61650938 telegram bot how to send messages daily new answer newreg 4f6
  • 为什么没有调用构造函数? [复制]

    这个问题在这里已经有答案了 这段代码的行为不符合我的预期 include
  • 使用jdk1.7获取java中文件最后访问时间的示例

    请朋友帮忙 我知道使用jdk1 7我们可以获取文件的最后访问时间 谁能给出一个带有代码的示例来获取文件的上次访问时间 既然您在问题中提到使用jdk1 7 你真的应该研究方法上的接口 BasicFileAttributes最后访问时间 htt
  • C++ 使用参数初始化引用

    我有以下代码 我想知道为什么它写出 22 而不是垃圾 class example public example int ea ref ea int ref int main example obj 22 cout lt lt obj ref
  • 当 LINQ 语句没有 where 子句时,为什么没有智能感知?

    谁能告诉我为什么我do not使用以下代码获取智能感知 var testDocuments from u in db TestDocuments orderby u WhenCreated descending select u but I
  • 如何解决Apache Camel中的“无法创建路由route1异常”?

    我对 Apache Camel 概念很陌生 我尝试使用 apache Camel API 编写示例代码 当我尝试运行代码时 出现以下异常 谁能帮我解决这个问题 缺少依赖库 所以我添加了这些库并解决了我的问题
  • Composer create-project 在本地包存储库上失败

    我正在尝试创建一个local存储库来测试作曲家项目 但是 composer create project repository url path to packages json vendor project name 失败了 Unexpe
  • 如何重新排列 igraph 图中边的顺序?

    我正在尝试在 igraph 中制作一个网络图 通过对某些重要边缘进行不同的着色来突出显示某些重要边缘 对于大图 它们经常被埋在其他图下面 例如 library igraph test lt barabasi game 200 m 2 E t