python绘制人物关系图_文本分析之制作网络关系图——Python

python绘制人物关系图_文本分析之制作网络关系图——Python

2023年6月29日发(作者:)

python绘制⼈物关系图_⽂本分析之制作⽹络关系图——Python今天给⼤家带来我⼀个脚本,⽤来分析社会⽹络关系。这个图我没有⽤到gephi或者其他的⼯具,是我⽤python纯脚本运⾏出来的。简单的实现了封装,⼤家有兴趣可以下载下脚本,运⾏下。原理知识我就简单说下原理吧,先刻画⼀个简单的图Aimport networkxasnximport asplt#有向图DG = h()#添加⼀个节点_node('A')#作图,设置节点名显⽰,节点⼤⼩,节点颜⾊(DG,with_labels=True,node_size=900,node_color ='green')()双节点,有⽅向A–>B#有向图DG = h()#添加⼀个节点_node('A')_node('B')#添加边,有⽅向,A-->_edge('A','B')#作图,设置节点名显⽰,节点⼤⼩,节点颜⾊(DG,with_labels=True,node_size=900,node_color ='green')()添加更多节点import networkxasnximport aspltcolors = ['red','green','blue','yellow']#有向图DG = h()#⼀次性添加多节点,输⼊的格式为列表_nodes_from(['A','B','C','D'])#添加边,数据格式为列表_edges_from([('A','B'), ('A','C'), ('A','D'), ('D','A')])#作图,设置节点名显⽰,节点⼤⼩,节点颜⾊(DG,with_labels=True, node_size=900, node_color = colors)()好了,同样的道理,咱们建⽴⾓⾊词典,插⼊节点列表,然后遍历插⼊有向边关系,就能做出这图:《Python基于共现提取《釜⼭⾏》⼈物关系》这篇⽂章写的很好(希望不要⿊我,我也是觉得真⼼好)。我基本上借鉴了这篇⽂章思路写今天这个脚本,实现了⾃动⽣成关系⽹络图。准备⼯作⼀、安装matplotlib、networkx⼆、解决matplotlib⽆法写中⽂问题1、找到pythonXlibsite-packagesmatplotlibmpl-datafontsttf⽂件夹2、matplotlib默认调⽤的为字体⽂件,⽹上下载个微软雅⿊.ttf3、将微软雅⿊⽂件名改为粘贴到ttf⽂件夹下即可。脚本⽂件简介你下载后脚本⽂件夹名为:⼈民的名义其中的就是⼤邓写的库(直接能调⽤的哦)实现功能:1、读⼊⼩数数据和⾓⾊词典后,对数据分词后⽣成⾓⾊关系数据(有向关系数据)2、⽆需gephi绘图即可制作绚丽⾓⾊关系⽹络图。注意:1、运⾏脚本前,⽂件夹中只保留⾓⾊名单.txt ⼈民的名义.txt 和 2、要想图⽚好看点,⼀定要联⽹啊。⾥⾯我写了个爬⾍,爬取⼀个配⾊⽹站的配⾊值。如果你们想单机也可以画出好看的图,可以修改下代码,将代码爬⾍部分改成读取本地颜⾊数据使⽤⽰例1、建好⼩说数据中的⾓⾊字典,格式如下2、在⽂件夹中放⼊⼩说txt⽂件(⼈民的名义.txt)3、在脚本⽂件夹中新建⼀个⽂件#导⼊relationship库中的Relationship类fromrelationship import Relationship#⾃定义节点词典(⼩说中⼈物⾓⾊)dictpath = r'/Users/suosuo/Desktop/⼈民的名义/⾓⾊名单.txt'#⼩说路径,只能是编码⽅式为utf-8的txt⽂件datapath = r'/Users/suosuo/Desktop/⼈民的名义/⼈民的名义.txt'#程序运⾏⽣成的⾓⾊关系图保存地址pic = r'/Users/suosuo/Desktop/⼈民的名义/⼈物关系图.png'Re = Relationship(dictpath, datapath)relation = onship()graph = k_digraph(relation, pic)4、运⾏⽂件夹中⽣成了 ⼈物关系图.png、node_和node_⽂件。node_ 有向图关系数据,可以后续导⼊gephi软件⾃定义制图node_ 节点出现频率注意:每次运⾏前请把⼈物关系图.png、node_和node_⽂件删除掉,再运⾏。

发布者:admin,转转请注明出处:http://www.yc00.com/web/1687986544a64049.html

相关推荐

发表回复

评论列表(0条)

  • 暂无评论

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信