将 vertex.label 放置在 igraph 中的圆形布局之外

2023-12-08

我有一个圆形布局 igraph。我希望顶点标签显示在圆形区域之外。尝试玩周围vertex.label.cex and vertex.label.degree但没有用。请指教!


vertex.label.degree需要一些认真的(但简单的)调整才能做到这一点。这是一个例子这个要点。这不是我的代码(它是@kieran的,我相信),但这是一个完全有效的示例。

### Here's one way to do it.

library(igraph)
library(ggplot2)
library(scales)

## The igraph docs say that vertex.label.degree controls the position
## of the labels with respect to the vertices. It's interpreted as a
## radian, like this:
##
## Value is : Label appears ... the node
## -pi/2: above
## 0: to the right of
## pi/2: below
## pi: to the left of
##
## We can generalize this. vertex.label.degree can take a vector as
## well as a scalar for its argument. So we write a function to 
## calculate the right position for a label based on its vertex's location
## on the circle.

## Get the labels aligned consistently around the edge of the circle
## for any n of nodes.
## This code borrows bits of ggplot2's polar_coord function
## start = offset from 12 o'clock in radians
## direction = 1 for clockwise; -1 for anti-clockwise.

radian.rescale <- function(x, start=0, direction=1) {
  c.rotate <- function(x) (x + start) %% (2 * pi) * direction
  c.rotate(scales::rescale(x, c(0, 2 * pi), range(x)))
}

### Example
## Generate some fake data
n <- 15
g <- erdos.renyi.game(n, 0.5)
## Obviously labeling in this way this only makes sense for graphs
## laid out as a circle to begin with
la <- layout.circle(g)

lab.locs <- radian.rescale(x=1:n, direction=-1, start=0)
plot(g, layout=la, vertex.size=2, vertex.label.dist=1,
     vertex.label.degree=lab.locs)

enter image description here

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

将 vertex.label 放置在 igraph 中的圆形布局之外 的相关文章

  • 查找嵌套列表中元素的索引?

    我有一个类似的列表 mylist lt list a 1 b list A 1 B 2 c list C 1 D 3 是否有一种 无循环 方法来识别元素的位置 例如如果我想用 5 替换 C 的值 并且在哪里找到元素 C 并不重要 我可以这样
  • 有没有办法在 RStudio 中调试 RScript 调用?

    假设我从命令行运行 R 脚本 如下所示 Rscript prog R x y z 我想检查某一行的代码 目前 我无法在 RStudio 中以交互方式调试它 因为我不知道如何传递参数 由于它设计为从命令行运行 因此如何通过命令行 RStudi
  • 在 R 中进行 Cox 回归后,将预测危险比列添加到数据帧中

    在 R 中运行 Cox PH 回归后 我需要在数据框中添加预测风险比的列 数据框是面板数据 其中 numgvkey 如果公司标识符 和年龄是时间标识符 您可以从此链接下载一小部分日期 https drive google com file
  • 如何使用 R 中带引号的字符值内的序列读取 CSV?

    这是一个包含两个字符列的 CSV 文件 key value a 所有字符值都用双引号引起来 并且有一个顺序 在值之一内 转义引号加分隔符 我无法通过 read csv readr 中的 read csv 或 data table 中的 fr
  • 将 VLMC 拟合到很长的序列

    我正在尝试将 VLMC 拟合到最长序列为 296 个状态的数据集 我这样做如下所示 Load libraries library PST library RCurl library TraMineR Load and transform d
  • 将 sf voronoi 多边形裁剪到边界框时出错

    我正在尝试将 voronoi polygons 使用 sf package 创建 剪辑 到边界框 但它引发了我无法定义的错误 我对 R 的空间世界不太有经验 感谢所有帮助 样本数据 stations lt structure list ST
  • R 更改小数位且不四舍五入

    gt signif 1 89 digits 2 1 1 9 我想要1 8 这有点笨拙 但它会起作用并保持所有数字 x lt 1 829380 trunc dec lt function x n floor x 10 n 10 n Resul
  • 将数据从 R 导出到 Excel

    我试图将从 R 获得的一些结果导出到 Excel 中 但未成功 我尝试过以下代码 write table ALBERTA1 D ALBERTA1 txt sep t write csv ALBERTA1 ALBERTA1 csv your
  • 解析,用三点参数替换

    让我们考虑一个典型的deparse substitute R call f1 lt function u x y print deparse substitute x varU vu varX vx varY vy f1 u varU x
  • fread 将空导入为 NA

    我正在尝试导入带有空白的 csv 读取为 不幸的是他们都读作 NA now 为了更好地演示问题 我还展示了如何NA NA and 都映射到同一事物 除了最底部的示例 这将妨碍简单的解决方法dt is na dt lt gt write cs
  • 为绘图制作 2D 图例 - 双变量分区统计图

    我一直在玩双变量 choropleth 地图 并且一直在如何创建类似于 2d 图例的问题上陷入困境约书亚 史蒂文斯 http www joshuastevens net cartography make a bivariate chorop
  • 使用 R 进行项目组织 [重复]

    这个问题在这里已经有答案了 可能的重复 统计分析和报告撰写的工作流程 https stackoverflow com questions 1429907 workflow for statistical analysis and repor
  • R - 通过覆盖和递归合并列表

    假设我有两个带有名字的列表 a list a 1 b 2 c list d 1 e 2 d list a 1 b 2 b list a 2 c list e 1 f 2 d 3 e 2 我想递归地合并这些列表 如果第二个参数包含冲突的值 则
  • R:将 JSON 时间格式转换为 POSIX

    我有一个 JSON 字符串 并将其放入数据框中 我能够做到这一点 但我在使用 apply 函数之一将所有时间字符串转换为 POSIX 格式时遇到问题 See here https stackoverflow com questions 90
  • ggplot散点图中的图例问题

    我想使用 ggplot 创建显示方法比较数据的散点图 绘图应包含原始数据 理想线和带误差的拟合线 图例应显示理想线和拟合线的线型 线宽 线颜色 我可以获得大部分我想要的东西 但是图例存在以下问题 图例显示每种线型有 2 条线 为什么 如何解
  • 为什么 geom_boxplot 比基本箱线图识别更多异常值?

    这是一个可重复的示例 与基本箱线图相比 最后一个治疗组又发现了一个异常值 dta lt structure list Treatment c A A A A A A A A A A A A A A A A B B B B B B B B B
  • 16 位以上整数的计算

    我有两个大整数 两者都超过 16 位 确切地说是 20 位 而且我知道由于双精度浮点运算 我在使用这些数字进行计算甚至将它们存储在变量中 独立于编程语言 时受到限制 不过 我想也许gmp图书馆应该处理它们 但不幸的是它没有 可以计算更大的整
  • 如何匹配 R 中的所有匹配项?

    我有 1000 个名字的列表 说A 我还有另外 5 个名字的清单 说B 我想找出这5个名字出现在1000个号码列表中的第几行 例如 Amy 在 A 中可以出现 25 次 B 里有艾米 我想知道 Amy 出现在 A 中的哪些行 我以前使用过
  • ggplot2、R 中的单条形条形图

    我有以下数据和代码 gt ddf var1 var2 1 aa 73 2 bb 18 3 cc 9 gt gt dput ddf structure list var1 c aa bb cc var2 c 73L 18L 9L Names
  • 替换字符串/文本中“从第 n 次到最后一次”出现的单词

    这个问题以前曾被问过 但尚未得到令提问者满意的答案 https stackoverflow com questions 36368712 how to use stringrs replace all function to replace

随机推荐

  • jQuery $(".class").click(); - 多个元素,点击一次事件

    我在同名页面上有多个类 然后我的 JS 中有一个 click 事件 我想要发生的是点击事件只发生一次 无论我的页面上有多个类 场景是我正在使用 AJAX 添加到购物车 有时 主页上可能有特色产品和顶级报价 这意味着存在相同的类 add pr
  • 如何使用 SSE2 对距离计算进行矢量化

    A 和 B 是向量或长度 N 其中 N 可以在 20 到 200 的范围内 我想计算这些向量之间距离的平方 即 d 2 A B 2 到目前为止我有 float a float b float d2 0 for int k 0 k lt N
  • DIV 与表格或 CSS 与愚蠢

    我知道表格用于表格数据 但使用它们进行布局非常诱人 我可以处理 DIV 以获得三列布局 但是当您有 4 个嵌套 DIV 时 它会变得棘手 是否有教程 参考可以说服我使用 DIV 进行布局 我想使用 DIV 但我拒绝花一个小时将我的 DIV
  • 获取单个 mysqli 查询中插入的所有行的 insert_id (多个值)

    使用 PHP 并使用 MYSQLI 尝试获取从具有多个值的单个插入查询插入的所有行的 insert id 将其保留在一次调用中以提高效率 我的实际代码在一个插入查询中有数百个值 不过 这里有一些仅包含 4 个值的插入的示例代码 sql IN
  • Visual Studio 2015 在条件断点中使用 Linq

    是否可以在条件断点内使用 Linq 当以下条件成立时 我尝试中断 parentElement ChildElements Any c gt c Id 1 当调试器被点击时 会显示以下错误消息 调试器无法计算该表达式 我已尝试以下条件 以防问
  • 有没有办法覆盖锁定图案屏幕?

    我想提供我自己的密码机制版本 这可能吗 没有 API 可供您替换锁定图案屏幕 因此您无法从 SDK 应用程序更改它 不过 如果您正在制作自己的固件 则可以更改它 尽管我不知道具体如何更改
  • 在phpStorm中指定php.ini

    我已经设置了我的 PHP 环境 PHPRC环境变量指向php ini Since PHPRC在 bash 启动期间设置 但从未为 phpStorm 设置 这意味着 phpStorm 使用了错误的php ini对于 CLI 这尤其令人烦恼 因
  • imshow() 的数字太小

    我正在尝试使用 imshow 可视化 numpy 数组 因为它类似于 Matlab 中的 imagesc imshow random rand 8 90 interpolation nearest 得到的图形在灰色窗口的中心非常小 而大部分
  • 从模式计算多个 data.frame 列的最佳方法

    我定期接收数据data frame宽格式如下 head data date NSW 1 AUS 1 NSW 2 AUS 2 1 2000 01 01 0 38358623 1 78824221 0 995984590 1 0744594 2
  • PHP中socket编程获取客户端IP

    我正在使用 PHP 编写一个使用套接字库的应用程序 如何获取客户端的IP 谢谢你的帮助 Use 套接字获取对等点名称
  • 我真的需要为 const 对象实现用户提供的构造函数吗?

    我有代码 class A public A default private int i 1 int main const A a return 0 它在 g 上编译得很好 参见ideone 但在 clang 上失败并出现错误 const 类
  • Three.js - 绕特定轴旋转对象

    我用过三个 REVISION 68 我已经按轴完成了旋转 OBJECT X z http jsfiddle net eVkgs 39 当我更改位置 OBJECT X 时 CubeGeometry applyMatrix new THREE
  • 如何让 Spring Data Neo4j 和 Spring Data JPA 协同工作?

    我有一个应用程序 它使用 MySQL 并通过 REST Neo4j 服务器版本执行一些批处理作业 我不知道如何让它们正确地协同工作 我可以让它们同时工作 但不能同时工作 我发现的帖子并不特定于 Neo4j 的服务器版本 也许这就是问题所在
  • Python 写入 .txt 文件时换行符“\n”不起作用

    for word in keys out write word str dictionary word n out open alice2 txt r out read 由于某种原因 Python 并没有为字典中的每个单词换行 而是在每个键
  • 使用 TFS 2015 .NET 客户端库从模板创建构建定义

    我正在使用 NET 客户端库VSTS TFS 2015 根据我在另一个团队项目中获取的模板以编程方式创建构建定义 我可以使用以下方法获取构建定义模板 2 0 BuildDefinitionTemplate builddeftemplate
  • 通过 std::bit_cast()ed 指针进行别名访问

    违反严格别名规则会产生未定义的行为 例如当通过网络将结构发送到 char 缓冲区时 然后该 char 指针是 C 风格 std reinterpret cast 转换为结构体指针 The C std bit cast 功能看起来它可以用来以
  • 带乳胶的轴刻度标签的无衬线字体

    我第一次尝试将 Latex 与 matplotlib 一起使用 似乎在使用 Latex 时 matplotlib 使用衬线字体作为轴标签 我尝试使用显式将字体系列设置为 sans serif rc font family sans seri
  • 如何更改 WPF 中 TextBox 的禁用背景颜色

    我看到以下与我的问题相关的线程 WPF ComboBox 禁用时的背景颜色 上面涉及更改内容模板ComboBox 我正在使用 WPF 对样式和模板有些陌生 我想更改禁用的暗灰色背景颜色TextBox到其他颜色 我们用TextBoxes在我们
  • 用于没有固定列的 HTML 动态布局的 CSS?

    我想设置这样的布局 两列都是动态的 一个由内容设置 第二个由第一列和最小宽度设置 我找到了许多解决方案 其中列的宽度是固定的 但它没有解决这个问题 看看我想要在屏幕上实现什么 我应该使用什么CSS 对于这样的东西有不同的方法 一个简单的方法
  • 将 vertex.label 放置在 igraph 中的圆形布局之外

    我有一个圆形布局 igraph 我希望顶点标签显示在圆形区域之外 尝试玩周围vertex label cex and vertex label degree但没有用 请指教 vertex label degree需要一些认真的 但简单的 调