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

Python中如何将igraph运行结果导出为CSV?如何为igraph图形添加标签?

igraph常见使用问题解决方案

问题1:将igraph运行结果导出为CSV格式文件

igraph的计算结果通常保存在顶点属性(g.vs)和边属性(g.es)中,你可以将对应属性转为Pandas DataFrame后直接导出为CSV,根据导出内容不同可以参考以下示例:

导出顶点属性CSV

# 提取所有顶点的属性转为DataFrame后导出
vertex_df = pd.DataFrame([v.attributes() for v in g.vs])
vertex_df.to_csv("igraph_vertices.csv", index=False)

导出边属性+起止节点CSV

edge_list = []
for edge in g.es:
    # 提取边的起止顶点名称
    source_node = g.vs[edge.source]["name"]
    target_node = g.vs[edge.target]["name"]
    # 合并边本身的属性
    edge_info = {"source": source_node, "target": target_node, **edge.attributes()}
    edge_list.append(edge_info)
edge_df = pd.DataFrame(edge_list)
edge_df.to_csv("igraph_edges.csv", index=False)

问题2:为igraph生成的图形添加标签

你可以在ig.plot()方法中传入标签相关参数,分别添加顶点标签和边标签,修改后的完整绘图代码如下:

import igraph as ig 
import pandas as pd
g=ig.Graph.TupleList(df.itertuples(index=False),directed=True)
ig.plot(
    g, 
    target='graph.png', 
    vertex_size=10, 
    bbox=(0, 0, 500, 500),
    # 顶点标签配置,默认使用TupleList自动生成的顶点name属性
    vertex_label = g.vs["name"],
    vertex_label_size = 7, # 标签字体大小
    vertex_label_color = "#222222", # 标签颜色
    vertex_label_dist = 1, # 标签与顶点的距离,避免和顶点重叠
    # 如需要添加边标签可取消以下注释,按需替换为你的边属性
    # edge_label = g.es["weight"],
    # edge_label_size = 6
)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.29 08:15:01