『Networkx』常用方法
这是一个用于分析'图'结构的包,由于我只是用到了浅显的可视化功能,所以这个介绍会对其使用浅尝辄止。
解决matplotlib中文字体缺失问题,
from pylab import mpl mpl.rcParams['font.sans-serif'] = ['FangSong'] # 指定默认字体
mpl.rcParams['axes.unicode_minus'] = False # 解决保存图像是负号'-'显示为方块的问题
读入数据,
import pandas as pd
import networkx as nx data = pd.read_csv(u'C:\Projects\python3_5\Gephi\\17级学硕导师情况.csv')
由于图的edge输入格式是(节点1,节点2)的形式,所以我们需要整理一下数据格式,
edges = [edge for edge in zip(data[data.columns[0]],data['Unnamed: 2'])]
edges.extend([edge for edge in zip(data[data.columns[0]],data['Unnamed: 3'])])
edges.extend([edge for edge in zip(data[data.columns[5]],data['Unnamed: 7'])])
edges.extend([edge for edge in zip(data[data.columns[5]],data['Unnamed: 8'])])
edges = pd.DataFrame(edges,columns=['导师','学生']).dropna(how='any')
画图,这里面采取的是为Graph对象添加edge的形式,也可添加node等等,
实际的体会是异常自由,节点本事没有类型限制,也就是说你可以把数字、字符、其他格式的对象乃至另一个Graph赋为一个节点,当然这在可视化时意义不大,但是networkx包最大功用其实是图分析而非可视化(实际上可视化是一个辅助功能),我了解不多,也只能帮着拍拍手叫叫好了(逃~~
G = nx.Graph()
G.add_edges_from([edge for edge in zip(edges['导师'],edges['学生'])]) nx.draw(G,
# pos = nx.random_layout(G),
# pos = nx.spring_layout(G),
# pos = nx.shell_layout(G),
pos = nx.circular_layout(G),
node_color = 'r',
# edge_color = 'b',
with_labels = True,
font_size =20,
node_size =1000,
alpha=0.3)

由于涉及隐私,这里的图我把标签取消了,不过实际效果也就这样,差不太多。
『Networkx』常用方法的更多相关文章
- 『Json』常用方法记录
json模块可以把字典结构改写为string然后保存,并可以反向读取字典 pickle模块则可以持久化任意数据结构 但是即使同样是字典数据结构,两个包也是有差别的, json字典value不支持其他对 ...
- 『Numpy』常用方法记录
numpy教程 防止输出省略号 import numpy as np np.set_printoptions(threshold=np.inf) 广播机制 numpy计算函数返回默认是一维行向量: i ...
- 『Os』常用方法记录
os.rename(name_old, name_new) 『Scrapy』爬取斗鱼主播头像 重命名函数os.rename比win下的重命名强多了,它可以对路径重命名达到修改文件位置的功效. os.p ...
- 『Nltk』常用方法
引言 在nltk的介绍文章中,前面几篇主要介绍了nltk自带的数据(书籍和语料),感觉系统学习意义不大,用到哪里看到那里就行(笑),所以这里会从一些常用功能开始,适当略过对于数据本体的介绍. 文本处理 ...
- 『Scipy』常用方法记录
优化器使用教程 J = lambda wb: self.get_cost_grad(wb, X, Y_one_hot) theta = self.wb_init(X,Y_one_hot) result ...
- 『Glob』常用方法记录
glob.glob(file) 返回匹配的文件 glob.glob(./flower_photos/tulips/*.jpg) Out[1]:<br># ['./flower_photos ...
- 『Re』正则表达式模块_常用方法记录
『Re』知识工程作业_主体识别 一个比较完备的正则表达式介绍 几个基础函数 re.compile(pattern, flags=0) 将正则表达式模式编译成一个正则表达式对象,它可以用于匹配使用它的m ...
- 『cs231n』通过代码理解风格迁移
『cs231n』卷积神经网络的可视化应用 文件目录 vgg16.py import os import numpy as np import tensorflow as tf from downloa ...
- 『AngularJS』$location 服务
项目中关于 $location的用法 简介 $location服务解析在浏览器地址栏中的URL(基于window.location)并且让URL在你的应用中可用.改变在地址栏中的URL会作用到$loc ...
随机推荐
- python3.4学习笔记(四) 3.x和2.x的区别,持续更新
python3.4学习笔记(四) 3.x和2.x的区别 在2.x中:print html,3.x中必须改成:print(html) import urllib2ImportError: No modu ...
- 根据wsdl文件,Web工程自动生成webservice客户端调用
根据wsdl文件,Web工程自动生成webservice客户端调用 1,工具:带有webservice插件的eclips 2,步骤: (1),新建一个Web工程:WSDLTest (2),浏览器访问W ...
- SVC(STM32)
这两个都是 system level service,有什么区别呢?…… 手册上说 SVC 这个指令是同步的,而 PendSV 是异步的,请问是什么意思呢?…… 高手路过尽请留言啊
- VC++禁止标题栏鼠标双击事件
转载:http://blog.sina.com.cn/s/blog_4ad042e50102dwv0.html 重载DefWindowProc,在里面截获WM_NCLBUTTONDBLCLK消息进行处 ...
- hdu Naive Operations 线段树
题目大意 题目链接Naive Operations 题目大意: 区间加1(在a数组中) 区间求ai/bi的和 ai初值全部为0,bi给出,且为n的排列,多组数据(<=5),n,q<=1e5 ...
- 织梦dedecms多选checkbox字段值独立输出样式调用方法
在做织梦网站时发现dedecms的自建字段的checkboxcook输出是一段证不能把每个标签分开写样式,在晚上查了好多没页没有好的,最终用中方式来做会好 {dede:field.fyuantese ...
- Codeforces Round #426 (Div. 2) C. The Meaningless Game
C. The Meaningless Game 题意: 两个人刚刚开始游戏的时候的分数, 都是一分, 然后随机一个人的分数扩大k倍,另一个扩大k的平方倍, 问给你一组最后得分,问能不能通过游戏得到这样 ...
- BZOJ3942: [Usaco2015 Feb]Censoring 栈+KMP
Description Farmer John has purchased a subscription to Good Hooveskeeping magazine for his cows, so ...
- 创建标签等操作DOM的原生js API
()创建新节点 createDocumentFragment() //创建一个DOM片段 createElement() //创建一个具体的元素 createTextNode() //创建一个文本节点 ...
- [Linux] - Linux安装JDK
https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html <官方JDK下载 之后 ...