1、场景:从文件中读取节点、有向边,然后绘制。

2、参考代码:

# -*- coding: utf-8 -*-import networkx as nx
import matplotlib.pyplot as plt#读取文件,获取节点和边
f = open("D:\\tmp\\gy_contest_link_top.txt", "r")
nodelist=[]
edgelist=[]
while True:  line = f.readline()  if line:  pass    # do something here line=line.strip()node=line.split(';')[0]#获取图节点nodelist.append(node)in_nodes=line.split(';')[1].split('#')#获取图边,该节点是终点for ins in range( len(in_nodes) ) :if in_nodes[ins].strip() !='': in_edge=(in_nodes[ins],node)if in_edge not in edgelist:edgelist.append(in_edge)out_nodes=line.split(';')[2].split('#')#获取图边,该节点是起点  for ins in range( len(out_nodes) ) :if out_nodes[ins].strip() !='': out_edge=(node,out_nodes[ins])if out_edge not in edgelist:edgelist.append(out_edge)else:  break
f.close()
del nodelist[0] #删除表头生成的节点
del edgelist[0]
del edgelist[0] #删除表头生成的边
#print len(nodelist) #图节点
#print len(edgelist) #边数#有向图绘制
G=nx.DiGraph()
G.add_nodes_from(nodelist)
G.add_edges_from(edgelist)
nx.draw_networkx(G, pos=None, arrows=True, with_labels=True)
#plt.savefig('D:\\tmp\\it.png')
plt.show()

效果图:

笔者没有对节点名做简易处理,所以看起来有点乱。

【Python学习系列二十五】数据结构-有向图绘制相关推荐

  1. 【Python学习系列二十六】networkx库图最短路径求解

    场景:基于python库networkx来求解图最短路径,相关算法基础参考 http://blog.csdn.net/fjssharpsword/article/details/52931373 ht ...

  2. python networkx进行最短路径分析_【Python学习系列二十六】networkx库图最短路径求解...

    场景:基于python库networkx来求解图最短路径,相关算法基础参考 http://blog.csdn.net/fjssharpsword/article/details/52931373 ht ...

  3. 【Python学习系列二十四】scikit-learn库逻辑回归实现唯品会用户购买行为预测

    1.背景:http://www.datafountain.cn/#/competitions/260/intro DataFountain上的唯品会用户购买行为预测比赛题目,笔者用逻辑回归实现,分数是 ...

  4. 【Python学习系列二十】scikit-learn库模型持久化

    场景:需要将模型保存到内存,或磁盘. 代码: # -*- coding: utf-8 -*-import pandas as pd import pickle as pkl from sklearn. ...

  5. Python学习日记(二十五) 接口类、抽象类、多态

    接口类 继承有两种用途:继承基类的方法,并且做出自己的改变或扩展(代码重用)和声明某个子类兼容于某基类,定义一个接口类interface,接口类中定义了一些接口名(就是函数名)且并未实现接口的功能,子 ...

  6. 【Python学习系列二十九】scikit-learn库实现天池平台智慧交通预测赛

    1.背景:https://tianchi.aliyun.com/competition/introduction.htm?spm=5176.100066.0.0.3f6e7d83RQgWEL& ...

  7. 【Python学习系列二十八】绘图库pyecharts

    网址:https://github.com/chenjiandongx/pyecharts 安装:pip install pyecharts 参考代码: # -*- coding: utf-8 -*- ...

  8. 【Python学习系列二十二】pandas数据筛选和排序

    在Pandas中通过.sort和.loc函数也可以实现这两 个功能..sort函数可以实现对数据表的排序操作,.loc函数可以实现对数据表的筛选操作. 1.排序 sort函数主要包含6个参数:colu ...

  9. JavaScript学习(二十五)—实现无缝滚动

    JavaScript学习(二十五)-实现无缝滚动 效果如下: 代码如下: <!DOCTYPE html> <html lang="en"><head& ...

最新文章

  1. NASA:首批“太空蜜蜂”将赴空间站上班,助宇航员推进研究!
  2. 拉格朗日乘数法学习笔记
  3. 关于产品的一些交互理念
  4. Android UncaughtExceptionHandler 全局异常监控
  5. Android之升级OkHttp编译提示错误如下Using ‘body(): ResponseBody?’ is an error. moved to val
  6. 【项目经验】--EasyUI DataGrid之右键菜单
  7. 从词袋到 Transfomer,NLP 十年突破史
  8. Oracle裁员补偿N+6,员工仍不满意,为何?
  9. java 汉字乱码_Java中文乱码问题
  10. 实战经验总结:怎么避免和解决LinkedIn领英帐号被封(被限制登录)?
  11. Html制作简单而漂亮的登录页面-web前端教程
  12. 极大似然估计(Maximum likelihood estimation)
  13. Java代码注释加入图片和表格
  14. 实时渲染和离线渲染的区别
  15. Unity_手机上查看日志的插件LogViewer
  16. 微信小程序实现随机标签云
  17. 对音频压缩概念的一些误解--记一次与音视频压缩专家的对话
  18. dpdk 源码分析 rte_ring
  19. MTK6577+Android之GPIO驱动简介
  20. java电子签名_java实现pdf文件电子签名

热门文章

  1. cnetos7系统命令补全操作
  2. 数据库系统概论:第十一章 并发控制
  3. mysql主从脚本_shell脚本部署mysql主从
  4. mysql系统变量_MySQL 系统变量(system variables)
  5. mac php 连接mysql数据库_Mac环境下php操作mysql数据库的方法分享_PHP教程
  6. Eclipse 安装配置指南
  7. 每日一练之贪心算法(P2587)
  8. [LeetCode] Longest Substring Without Repeating Characters
  9. Access中出现改变字段“自己主动编号”类型,不能再改回来!(已解决)
  10. 抽象数据类型Triplet的C语言实现