软件测试|Python数据可视化神器——pyecharts教程(十二)
- 互联网
- 2025-08-06 05:18:02

使用pyecharts绘制关系网图 简介
关系网图是一种可视化工具,用于展示各个元素之间的关联关系。在数据分析和可视化中,关系网图通常用于展示网络、社交关系、知识图谱等方面的数据。Pyecharts 是一个功能强大的 Python 数据可视化库,可以轻松创建各种类型的图表,包括关系网图。本文将介绍如何使用 Pyecharts 绘制关系网图,并提供相关的示例。
关系图类基础配置 导包在Pyecharts中,每一种图都有不同的类,关系图也不例外,创建关系网图需要使用 Graph 类。首先,我们需要导入相关的模块:
from pyecharts import options as opts from pyecharts.charts import Graph add函数配置我们在导入类之后,接下来就需要考虑对关系图进行具体的配置,add函数是我们对关系图进行配置的函数,我们可以使用不同的参数对关系图进行设置,通过查看源码,我们可以发现参数说明如下:
def add( self, series_name: str, # 系列名称 nodes: types.Sequence[types.GraphNode], # 节点列表 links: types.Sequence[types.GraphLink], # 连接列表 categories: types.Union[types.Sequence[types.GraphCategory], None] = None, # 类别列表(可选) *, is_focusnode: bool = True, # 是否聚焦节点 is_roam: bool = True, # 是否开启漫游 is_draggable: bool = False, # 是否可拖拽 is_rotate_label: bool = False, # 是否旋转标签 layout: str = "force", # 布局方式,默认为力引导布局 symbol: types.Optional[str] = None, # 节点图标(可选) symbol_size: types.Numeric = 10, # 节点图标大小 edge_length: types.Numeric = 30, # 连接线长度 gravity: types.Numeric = 0.2, # 节点间引力大小 friction: types.Numeric = 0.6, # 节点间摩擦力大小 is_layout_animation: bool = True, # 是否开启布局动画 repulsion: types.Numeric = 50, # 节点间斥力大小 edge_label: types.Label = None, # 连接线标签 edge_symbol: types.Union[types.Sequence[str], str] = None, # 连接线图标 edge_symbol_size: types.Numeric = 10, # 连接线图标大小 label_opts: types.Label = opts.LabelOpts(), # 标签选项 linestyle_opts: types.LineStyle = opts.LineStyleOpts(), # 连接线样式选项 tooltip_opts: types.Tooltip = None, # 提示框选项 itemstyle_opts: types.ItemStyle = None, # 图元样式选项 ) 绘制关系图 绘制简单关系图下面是使用Pyecharts链式写法绘制普通的关系网络图的示例。代码如下:
from pyecharts import options as opts from pyecharts.charts import Graph # 构建节点数据 nodes = [ {"name": "A"}, {"name": "B"}, {"name": "C"}, {"name": "D"}, {"name": "E"}, ] # 构建边数据 links = [ {"source": "A", "target": "B"}, {"source": "B", "target": "C"}, {"source": "C", "target": "D"}, {"source": "D", "target": "E"}, {"source": "E", "target": "A"}, ] # 创建关系网络图对象 graph = ( Graph() .add("", nodes, links, repulsion=8000) .set_global_opts(title_opts=opts.TitleOpts(title="简单关系网络图")) ) # 渲染图表 graph.render("graph.html")运行代码后,生成的图像如下图所示:
复杂关系网络图我们经常可以在电视剧的介绍中看到不同角色的人物关系图,其实pyecharts也可以绘制这样的复杂的人物关系图,示例代码如下:
from pyecharts import options as opts from pyecharts.charts import Graph # 构建节点数据 nodes = [ {"name": "配角1", "symbolSize": 10}, {"name": "配角2", "symbolSize": 20}, {"name": "主角3", "symbolSize": 30}, {"name": "主角2", "symbolSize": 40}, {"name": "核心人物", "symbolSize": 50}, {"name": "主角1", "symbolSize": 40}, {"name": "主角4", "symbolSize": 30}, {"name": "配角3", "symbolSize": 20}, ] # 构建边数据 links = [] for i in nodes: for j in nodes: links.append({"source": i.get("name"), "target": j.get("name")}) # 创建关系网络图对象 graph = ( Graph() .add("", nodes, links, repulsion=8000) .set_global_opts(title_opts=opts.TitleOpts(title="复杂关系网图")) ) # 生成html文件 graph.render("电视剧人物图.html")运行代码,生成的图像如下:
总结本文主要介绍了使用pyecharts来绘制关系网图的方法,关系网图对于我们在分析不同主体的任务关系是很有帮助的,希望本文可以帮助到大家。
最后感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:
这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!
软件测试|Python数据可视化神器——pyecharts教程(十二)由讯客互联互联网栏目发布,感谢您对讯客互联的认可,以及对我们原创作品以及文章的青睐,非常欢迎各位朋友分享到个人网站或者朋友圈,但转载请说明文章出处“软件测试|Python数据可视化神器——pyecharts教程(十二)”
上一篇
微信小程序获取来源场景值