作家
登录

文本分析之制作网络关系图——Python

作者: 来源: 2017-04-27 11:17:55 阅读 我要评论

今天给大年夜家带来我一个脚本,用来分析社会收集关系。

这个图我没有效到gephi或者其他的对象,是我用python纯脚本运行出来的。简单的实现了封装,大年夜家有兴趣可以下载下脚本,运行下。

1、建好小说数据中的角色字典,格局如下

道理常识

node_freq.txt 节点出现频率

  1. import networkx as nx 
  2. import matplotlib.pyplot as plt 
  3. #有向图 
  4. DG = nx.DiGraph() 
  5. #添加一个节点 
  6. DG.add_node('A'
  7. #作图,设置节点名显示,节点大年夜小,节灯揭捉?色 
  8. nx.draw(DG,with_labels=True,node_size=900,node_color = 'green'
  9. plt.show() 

双节点,有偏向A–>B

  1. #有向图 
  2. DG = nx.DiGraph() 
  3. #添加一个节点 
  4. DG.add_node('A'
  5. DG.add_node('B'
  6. #添加边,有偏向,A-->B 
  7. DG.add_edge('A','B'
  8. #作图,设置节点名显示,节点大年夜小,节灯揭捉?色 
  9. nx.draw(DG,with_labels=True,node_size=900,node_color = 'green'
  10. plt.show() 

添加更多节点

  1. import networkx as nx 
  2. import matplotlib.pyplot as plt 
  3.  
  4. colors = ['red''green''blue''yellow'
  5. #有向图 
  6. DG = nx.DiGraph() 
  7. #一次性添加多节点,输入的格局为列表 
  8. DG.add_nodes_from(['A''B''C''D']) 
  9. #添加边,数据格局为列表 
  10. DG.add_edges_from([('A''B'), ('A''C'), ('A''D'), ('D','A')]) 
  11. #作图,设置节点名显示,节点大年夜小,节灯揭捉?色 
  12. nx.draw(DG,with_labels=True, node_size=900, node_color = colors) 
  13. plt.show() 

好了,同样的事理,咱们建立角色词典,插入节点列表,然后遍历插入有向边关系,就能做出这图:


  推荐阅读

  阿里云南京云栖大会:分享智造范本 发布前沿技术

【51CTO原创稿件,合作站点缀载请注明原文作者和出处为51CTO.com】【义务编辑:wangxueyan TEL:(010)68476606】 【51CTO.com原创稿件】今天,阿里云栖大年夜会·南京峰会正式召开>>>详细阅读


本文标题:文本分析之制作网络关系图——Python

地址:http://www.17bianji.com/lsqh/34999.html

关键词: 探索发现

乐购科技部分新闻及文章转载自互联网,供读者交流和学习,若有涉及作者版权等问题请及时与我们联系,以便更正、删除或按规定办理。感谢所有提供资讯的网站,欢迎各类媒体与乐购科技进行文章共享合作。

网友点评
自媒体专栏

评论

热度

精彩导读
栏目ID=71的表不存在(操作类型=0)