『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)

  

由于涉及隐私,这里的图我把标签取消了,不过实际效果也就这样,差不太多。

时间: 2024-07-30 20:56:10

『Networkx』常用方法的相关文章

『Numpy』常用方法记录

numpy教程 广播机制 numpy计算函数返回默认是一维行向量: import numpy as np a = [[1,1,1], [2,2,2], [3,3,3]] b = (np.sum(a,axis=1)) c = (np.sum(a,axis=0)) print(b,'\n',c) # [3 6 9] # [6 6 6] 所以广播之实际是高维对一维行向量的广播: 除法广播: b = a/(np.sum(a,axis=1)) c = a/(np.sum(a,axis=0)) print(

『Re』正则表达式模块_常用方法记录

『Re』知识工程作业_主体识别 一个比较完备的正则表达式介绍 几个基础函数 re.compile(pattern, flags=0) 将正则表达式模式编译成一个正则表达式对象,它可以用于匹配使用它的match ()和search ()等方法. 实际有两种使用方式: pattern.匹配方法(string) 或者 re.匹配方法(pattern,string) 使用或|来强化匹配规则: pattern_t = re.compile( '[0-9〇一二三四五六七八九]{4}年.{1,2}月.{1,3

『ENGLISH』

以A字母开头的词汇 英文 中文 abstract module 抽象模组 access 访问.存取 access control 存取控制 access control information 存取控制资讯 access mechanism 存取机制 access rights 存取权限 accessibility 无障碍性 accessibility information 无障碍网页资讯 accessibility problem 无障碍网页问题 accessible 无障碍的 access

『TensorFlow』函数查询列表_神经网络相关

神经网络(Neural Network) 激活函数(Activation Functions) 操作 描述 tf.nn.relu(features, name=None) 整流函数:max(features, 0) tf.nn.relu6(features, name=None) 以6为阈值的整流函数:min(max(features, 0), 6) tf.nn.elu(features, name=None) elu函数,exp(features) - 1 if < 0,否则featuresE

『数据库』随手写了一个 跨数据库 数据迁移工具

随手写了一个 跨数据库 的 数据迁移工具:>目前支持 SQLServer,MySql,SQLite: >迁移工具 可以自动建表,且 保留 主键,自增列: >迁移工具 基于 Laura.Source  ORM框架 开发: >迁移工具 支持 崩溃恢复(重启迁移工具,将会继续 未完成的 数据迁移): >每张表一个事务(即使  表中有 >100W 的数据,也是一个事务完成): >迁移后 的 自增列 和 原数据库 保持一致: 只是展示一下,直接上图片: 操作工具: 迁移工具

『AngularJS』$location 服务

参考: ng.$location Developer Guide: Angular Services: Using $location 简介 $location服务解析在浏览器地址栏中的URL(基于window.location)并且让URL在你的应用中可用.改变在地址栏中的URL会作用到$location服务,同样的,改变$location服务也会改变浏览器的地址栏.(可以使用$location进行重定向等操作) $location服务: 暴露浏览器地址栏中的URL,让你可以: 监察URL.

谈谈前端『新』技术

技术这个行当,永远会有新东西出来,不进则退.更关键的是,前端比起整个软件工程乃至计算机科学体系来说,是个相对新生草莽的领域,近年来前端生态的发展其实都是在向其他领域吸收和学习,不论是开发理念.工程实践还是平台本身(规范.浏览器).所谓的『根正苗红』的前端,不过是整个发展进程中探索的一个阶段而已,那个时代的最佳实践,很多到今天都已经不再适用.过往的经验固然有价值,但这些经验如果不结合对新事物本身的了解,就很难产生正确的判断.这里需要强调的是,学习新事物并不是为了不考虑实际需求的滥用,而是为了获取足

『转载』Debussy快速上手(Verdi相似)

『转载』Debussy快速上手(Verdi相似) Debussy 是NOVAS Software, Inc(思源科技)发展的HDL Debug & Analysis tool,这套软体主要不是用来跑模拟或看波形,它最强大的功能是:能够在HDL source code.schematic diagram.waveform.state bubble diagram之间,即时做trace,协助工程师debug. 可能您会觉的:只要有simulator如ModelSim就可以做debug了,我何必再学这

【转载】虫师『性能测试』文章大汇总

虫师『性能测试』文章大汇总 为了方便阅读,我重新整理本文,将包含本博客所有与性能测试有关的内容. ------------------------------------------- 近两年市面上的性能测试书籍很多了,但大部分书都在讲loadrunner的操作技巧项目与项目实践.我不认为有什么问题,因为loadrunner性能测试工具已经占据很大市场.loadrunner是非常的强大,但我们在做性能测试时,往往都以“loadrunner的模式”在思考如何进行性能测试.loadrunner只是一