You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

R中使用ggnet2结合附加属性表定义网络图节点形状

ggnet2按节点二进制编码自定义形状的实现方案

首先需要将节点类型属性绑定到igraph网络对象,再通过shape参数搭配形状映射规则实现需求,步骤如下:

1. 挂载节点属性

先把读入的属性表中存储二进制类型的字段,赋值为igraph网络的节点属性。如果不确定属性表和网络节点的顺序是否一致,优先用节点名匹配的方式赋值,避免属性错位:

# 注意:代码里的"type"替换为你属性表中二进制编码列的实际列名
V(g)$node_type <- attr[V(g)$name, "type"]

如果确认属性表的行顺序和网络节点顺序完全一致,也可以直接用V(g)$node_type <- attr$type赋值。

2. 配置绘图参数

ggnet2中shape参数传入挂载好的节点属性名,再通过shape.palette手动指定每个编码对应的形状即可,完整绘图代码如下:

ggnet2(
  g,
  size = "degree",
  node.color = "darkgreen",
  shape = "node_type",
  # 形状映射规则:编码0对应实心圆形,编码1对应实心三角形
  shape.palette = c("0" = 19, "1" = 17)
)

说明:这里使用R原生pch形状编码:19为实心圆形、17为实心正三角形,如果需要空心样式,可替换为c("0" = 1, "1" = 2),分别对应空心圆、空心三角形。

内容的提问来源于stack exchange,提问作者Max Stüwe

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.27 17:16:17