# -*- coding: utf-8 -*-
"""
Created on Wed May  3 12:58:30 2017
https://zhuanlan.zhihu.com/p/24767513 参考链接
@author: chuc
"""
import networkx as nx
import matplotlib.pyplot as pltimport jieba
import codecs
import jieba.posseg as psegnames = {}          # 姓名字典
relationships = {}  # 关系字典
lineNames = []      # 每段内人物关系# count names
jieba.load_userdict("some/person.txt")      # 加载字典
with codecs.open("some/people.txt", "r") as f:for line in f.readlines():poss = pseg.cut(line)       # 分词并返回该词词性lineNames.append([])        # 为新读入的一段添加人物名称列表for w in poss:if w.flag != "nr" or len(w.word) < 2:continue            # 当分词长度小于2或该词词性不为nr时认为该词不为人名lineNames[-1].append(w.word)        # 为当前段的环境增加一个人物if names.get(w.word) is None:names[w.word] = 0relationships[w.word] = {}names[w.word] += 1                  # 该人物出现次数加 1# explore relationships
for line in lineNames:                  # 对于每一段for name1 in line:                  for name2 in line:              # 每段中的任意两个人if name1 == name2:continueif relationships[name1].get(name2) is None:     # 若两人尚未同时出现则新建项relationships[name1][name2]= 1else:relationships[name1][name2] = relationships[name1][name2]+ 1        # 两人共同出现次数加 1with codecs.open("some/person_edge.txt", "a+", "utf-8") as f:for name, edges in relationships.items():for v, w in edges.items():if w > 20:f.write(name + " " + v + " " + str(w) + "\r\n")a = []
f = open('some/person_edge.txt','r',encoding='utf-8')
line = f.readline()
while line:a.append(line.split())   #保存文件是以空格分离的line = f.readline()f.close()
G = nx.Graph()
G.add_weighted_edges_from(a)
nx.draw(G,with_labels=True,font_size=12,node_size=1000,node_color='g')
plt.show()

基于networkx的《人民的名义》人物关系图相关推荐

  1. python代码电影人物关系_Python基于network模块制作电影人物关系图

    Python基于network模块制作电影人物关系图,节点,值为,模块,关系,算法 Python基于network模块制作电影人物关系图 易采站长站,站长之家为您整理了Python基于network模 ...

  2. python实现对小说的文本分析(人物关系图,人物词云等)

    文本分析 0.效果图 这里有些"二人"."不会"等词语没用筛选掉,手动筛选即可. 1.整体思路: 调用的库:jieba,matplotlib,networkx, ...

  3. Python 三国演义文本可视化(词云,人物关系图,主要人物出场次数,章回字数)

    文章目录 效果展示 介绍 软件架构 使用说明 导入需要的库 执行main.py 这里以三国演义为例 三国演义.txt alice_mask.png 效果展示 介绍 Python读取小说文本,绘制词云图 ...

  4. 网页开发 与数据联动的图_零基础学习数据可视化pyecharts人物关系图开发

    Pyecharts人物关系图开发 1. Pyecharts版本说明 Pyecharts的版本最新版本为1.7.0版本,此版本跟0.5版本的使用方法不一样了.很多参数方法配置不一样了.Import的内容 ...

  5. 红楼梦人物关系图,一代大师成绝响,下回分解待何人,kindle读书摘要

    人物关系图: https://www.cnblogs.com/images/cnblogs_com/elesos/1120632/o_2033091006.jpg 红楼梦 (古典名著普及文库) (曹雪 ...

  6. 关于echarts人物关系图,节点展现为图片

    echarts示例中人物关系图中节点是原点或其他形状,但人物关系图中节点呈现为人物图像更为合适. 有些情况下,使用symbol: require('@/assets-')可以使用本地资源中的图片进行展 ...

  7. 射雕英雄传人物关系python_《射雕英雄传》人物关系图

    读完一本书,非虚构类的,要画思维导图,串联脉络,找出结构. 而虚构类的如小说,最好就是画出人物关系图,在人与人之间的爱恨情仇中,串联情节,还原整个故事. <射雕英雄传>的人物关系图,在网上 ...

  8. 谋杀之谜 良辰吉日 人物关系图

    谋杀之谜 良辰吉日人物关系图 良辰吉日人物关系图(涉及剧透) 良辰吉日人物关系图(涉及剧透) 1.本子难度尚可 2.本子体验的好坏完全取决于组织者的能力,组织的好本子体验就会非常好 3.关系图可能涉及 ...

  9. python 课后习题:项目二数据分析之《冰与火之歌》全五卷人物关系图

    其实这种人物关系图网上教程一大堆,我也是照着做的.在这里说一下我出错的地方,以及需要注意的一些东西. 注意: a. 代码缩进,我照着网上抄,网上的缩进不清楚然后我抄错了都没发现,结果出现了人名出现次数 ...

  10. python关系图谱_python 绘制三国人物关系图

    author:weizhendong data:2019.12.19 func:绘制三国演义人物关系图 """ import codecs import jieba.po ...

最新文章

  1. java 获取utc,如何在Java 8中获取UTC + 0日期?
  2. linux PHP 编译安装参数详解
  3. NLPIR大数据处理技术实现多种类智能挖掘
  4. python包裹 函数_什么是最干净的方法调用一个Python函数从C++与一个Sigg包裹的Obj....
  5. 连贯的学习黑树(插入节点)
  6. 牛客练习赛44 A 小y的序列 (模拟,细节)
  7. Azure恢复服务-使用Windows Backup恢复文件
  8. 循环、格式化输出、数据统计
  9. 【渝粤教育】广东开放大学 网络市场调查与预测 形成性考核 (23)
  10. ES6——Promise 对象
  11. Anaconda创建、激活、退出、删除虚拟环境
  12. 深度学习笔记(四):循环神经网络的概念,结构和代码注释
  13. java实验目的_java实验报告一
  14. Java输入/输出流
  15. ubuntu18安装vcs2016和verdi2016
  16. 数学对数 log lg ln 简介
  17. 科普:网格屏是什么意思?LED网格屏怎么安装
  18. 京东换新 Logo :脸蛋胖了,脖子粗了
  19. 服务器响应到客户端中文乱码的解决方式
  20. Android中的手机屏幕像素的几种获取方式

热门文章

  1. Redis入门总结(二):主从复制,事务和发布订阅
  2. 【JAVA】JSR、JCP是什么?
  3. 逆袭-2014年中电投篮球赛札记_02【转】
  4. 用STM32F103C8芯片做流水灯
  5. JAVA 实现《布谷鸟闯关-简单版》游戏
  6. storm spout和bolt java api
  7. Axure 8 网页滚动效果+APP上下垂直拖动效果
  8. (转)日本語を輸入について
  9. MacOS 苹果 快捷键
  10. 【2021最后一波官方福利】七天玩转Redis | 打卡还能领周边活动开始啦