软件测试|Python数据可视化神器——pyecharts教程(十二)

使用pyecharts绘制关系网图

简介

关系网图是一种可视化工具,用于展示各个元素之间的关联关系。在数据分析和可视化中,关系网图通常用于展示网络、社交关系、知识图谱等方面的数据。Pyecharts 是一个功能强大的 Python 数据可视化库,可以轻松创建各种类型的图表,包括关系网图。本文将介绍如何使用 Pyecharts 绘制关系网图,并提供相关的示例。

关系图类基础配置

  1. 导包

在Pyecharts中,每一种图都有不同的类,关系图也不例外,创建关系网图需要使用 Graph 类。首先,我们需要导入相关的模块:

from pyecharts import options as opts
from pyecharts.charts import Graph
  1. 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,  # 图元样式选项)

绘制关系图

  1. 绘制简单关系图

下面是使用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")

运行代码后,生成的图像如下图所示:

  1. 复杂关系网络图

我们经常可以在电视剧的介绍中看到不同角色的人物关系图,其实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来绘制关系网图的方法,关系网图对于我们在分析不同主体的任务关系是很有帮助的,希望本文可以帮助到大家。

最后感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:

这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/624918.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

x-cmd pkg | howdoi - 用于替代浏览器搜索编程问题的命令行工具

目录 简介首次用户技术特点竞品和相关作品进一步阅读 简介 howdoi 一个在终端中查找编程问题的命令行工具和 python 库,可用于从堆栈溯源(Stack Overflow)等编程社区获取搜索问题的答案,并将它们以代码片段的形式显示在命令行中。…

使用记事本修复DBC文件问题V2.0

没想过这种文章也能出第二篇,有个信号没解析出来。 问题现象 回放报文的时候发现需要的信号没有解析出来,报文一共有10个信号,只出来9个。 问题分析 首先就是排查DBC文件,在对应的报文里面有没有这个信号。发现是有的&#xff…

POI-tl 知识整理:整理5 -> 开发一个插件

实现一个插件就是要告诉我们在模板的某个地方用某些数据做某些事情,我们可以通过实现RenderPolicy接口开发自己的插件 模板 1 写一个将标签替换为Hello, world的插件 import com.deepoove.poi.XWPFTemplate; import com.deepoove.poi.policy.RenderPolicy; import…

pandas进行数据计算时如何处理空值的问题?

目录 1.数据预览: 2.解决方法 (1)问题示例 (2)方法 A.方法一 B.方法二 1.数据预览: 2.解决方法 (1)问题示例 如下图如果不理睬这些空值的话,计算总分便也会是空值…

如何部署Wagtail CMS并结合cpolar内网穿透实现远程访问管理界面

文章目录 前言1. 安装并运行Wagtail1.1 创建并激活虚拟环境 2. 安装cpolar内网穿透工具3. 实现Wagtail公网访问4. 固定的Wagtail公网地址 前言 Wagtail是一个用Python编写的开源CMS,建立在Django Web框架上。Wagtail 是一个基于 Django 的开源内容管理系统&#xf…

树莓派4B +Ubuntu20.04+ROS1的使用(2)

首先确定一下主机与从机的ip地址(非常重要) 在这次实验中,主机是一台Ubuntu20.04.03系统的台式机,我们间通过这台准备来远程遥控树莓派上的ros1系统,它的ip地址是192.168.230.181 从机是一台搭载Ubuntu20.04桌面版ro…

pom文件冲突引起的Excel无法下载

问题一:之前生产环境上可以进行下载Excel的功能突然不能用了 报错提示信息: NoClassDefFoundError: Could not initialize class org.apache.poi.xssf.usermodel.XSSFWorkbook, 在最开始初始化的时候找不到对应的类,虽然我的Libr…

力扣 | 49. 字母异位词分组

这里使用HashMap Java package _49;import java.util.*;public class Problem_49_GroupAnagrams {public List<List<String>> groupAngrams(String [] strs){Map<String,List<String>> map new HashMap<>(); // int [] arr new int[]{}…

十三、Three场景物体增加发光特效

物体发光效果非常炫酷,本期来讲three场景内物体自带发光效果怎么来实现。本次使用的是threejs138版本,在vue3+vite+ant的项目中使用。 下面来看看实现的效果。绿色罐体有了明显的发光效果。 实现步骤 增加composer.js import { UnrealBloomPass } from three/examples/jsm/po…

vue前端开发自学,子组件传递数据给父组件,使用$emit

vue前端开发自学,子组件传递数据给父组件,使用$emit 父子组件之间互相传递数据的情况非常常见&#xff0c;下面为大家介绍的是&#xff0c;来自子组件&#xff0c;给父组件传递数据的情况。 <template><h3>组件事件demo</h3><Child someEvent"getI…

第08章_面向对象编程(高级)拓展练习(关键字:static,代码块,关键字:final,抽象类和抽象方法,接口,内部类,枚举类,注解,包装类)

文章目录 第08章_面向对象编程&#xff08;高级&#xff09;拓展练习01-关键字&#xff1a;static1、银行账户类2、图形类3、数组工具类4、二分查找5、二分查找6、素数7、阅读代码&#xff0c;分析运行结果8、阅读代码&#xff0c;分析运行结果 02-代码块9、阅读代码&#xff0…

rocketmq实现延迟队列思路探讨

大家好&#xff0c;我是了不起&#xff0c;专为小白解决痛点的了不起。 一、非任意时间 1、修改 在服务器端&#xff08;rocketmq-broker端&#xff09;的属性配置文件中加入以下行&#xff1a; messageDelayLevel1s 5s 10s 30s 1m 2m 3m 4m 5m 6m 7m 8m 9m 10m 20m 30m 1h 2h …

Vue高级(二)

3.搭建vuex环境 创建文件&#xff1a;src/store/index.js //引入Vue核心库import Vue from vue//引入Vueximport Vuex from vuex//应用Vuex插件Vue.use(Vuex)//准备actions对象——响应组件中用户的动作const actions {}//准备mutations对象——修改state中的数据const mutat…

Mantle: A Programmable Metadata Load Balancer for the Ceph File System——论文泛读

SC 2015 Paper 元数据论文阅读汇总 问题 优化Ceph的元数据局部性和负载平衡。 现有方法 提高元数据服务性能的最常见技术是在专用的元数据服务器&#xff08;MDS&#xff09;节点之间平衡负载 [16, 25, 26, 21, 28]。常见的方法是鼓励独立增长并减少通信&#xff0c;使用诸…

中文 DarkVoxel Wiki | CSDN

DarkVoxel Wiki 游戏DarkVoxel的中文百科~ 欢迎来到DarkVoxel Wiki&#xff01; 本wiki于 2024/1/15 迁自 Fandom Wiki&#xff08;因为 Fandom 实在是太烂了&#xff09;以后wiki在这里更新&#xff0c;B站专栏只会发布每个版本的更新内容之类的简单资讯&#xff1b;相关视…

【物以类聚】给el-image预览多张图片增加提示文字,让每张图片有所分类

【物以类聚】给el-image预览多张图片增加提示文字&#xff0c;让每张图片有所分类 一、需求二、el-image三、实施步骤3.1 导包3.2 改造3.3 引入 三、效果 一、需求 点击地图上的一张图片&#xff0c;弹出所有相关的图片资源&#xff0c;图片资源上显示每个图片的所属类型。 二…

《产业结构调整指导目录(2024年本)》发布,模糊测试首次纳入

近日&#xff0c;第6次委务会议通过了新版的《产业结构调整指导目录&#xff08;2024年本&#xff09;》&#xff0c;该目录自2024年2月1日起正式实施。 与之前的版本相比&#xff0c;本次目录在行业设置上进行了全面升级&#xff0c;新增了“网络安全”这一重要行业大类&#…

金蝶云星空单据转换插件-选单

文章目录 金蝶云星空单据转换插件-选单 金蝶云星空单据转换插件-选单 选单使用标识报错 应该使用实体属性

杨中科 EFCORE 第五部分 同样的Linq 被不同数据据翻译为不同SQL

同样的LINQ 被翻译为不同的SQL 语句 不同数据库方言不同 SOLServer: select top(3) * from t MySOL: select * from t LIMIT 3 Oracle: select * from t where ROWNUM<3 同样的C#语句在不同数据库中被EF Core翻译成不同的SQL语句 EF CORE迁移脚本和数据库相关 因此迁移脚…

微信公众号对接--客服消息

当你关注公众号&#xff0c;然后在公众号里面发送消息&#xff0c;会收到回复&#xff0c;这个就是客服消息 参考文档:接收普通消息 接收事件推送 客服接口-发消息 想要对接客服消息&#xff0c;首先要获取access_token,这个可以参考我之前的文章:对接微信公众号-CSDN博客 回…