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

如何在igraph绘制的无向图中添加弧权重标签?

在igraph中为图添加弧权重显示

你只需要在plot()函数里添加edge.label参数,指定为边的weight属性,就能让权重显示在边上。

修改后的完整代码:

library(igraph)
actors <- data.frame(name=c("0","1","2", "3", "4", "5","6"))
relations <- data.frame(from=c("0", "0", "1", "2", "3", "3","4","5","4"),
                        to=c("1", "2", "3", "3", "5", "4","5","6","6"),
                        weight=c(2,6,5,8,15,10,6,6,2))
g <- graph_from_data_frame(relations, directed=F, vertices=actors)
# 绘制带权重标签的图,可按需调整样式
plot(g, 
     edge.label = E(g)$weight,  # 显示每条边的权重
     edge.label.cex = 0.8,      # 调整标签字号(可选)
     edge.label.color = "black" # 调整标签颜色(可选)
)

关键说明:

  • E(g)$weight用来提取图对象g中所有边的权重属性,把它传给edge.label参数,igraph就会自动在对应边上标注权重数值
  • 如果觉得标签显示效果不好,还可以加这些参数调整:
    • edge.label.dist:设置标签与边的距离,避免重叠
    • edge.label.font:切换标签字体
    • edge.label.bg:给标签加背景色,提升可读性

内容的提问来源于stack exchange,提问作者Mark

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.08 04:35:29