绘制网络分面图—matplotlib,networkx
来源:互联网 发布:石化盈科网络大学 编辑:程序博客网 时间:2024/06/10 22:26
使用python的matplotlib与networkx绘制网络分面图
数据格式:
左边两列是网络的ID与name 再右边变是网络的连边了。比如第一行网络的边为(1,2)(3,4)(2,3)(4,5)
代码:
# coding: utf-8import networkx as nximport matplotlib.pyplot as pltimport csvdef LoadData(): UnitedVisibilityGraphDictData=csv.reader(file('UnitedVisibilityGraphDict.csv', 'rb')) UnitedVisibilityGraphDict={} count=0 #don't read first line for data in UnitedVisibilityGraphDictData: edges=[] if count!=0: count2=2 for i in range(len(data)/2-1): if len(data[count2])!=0: medium=(int(data[count2]),int(data[count2+1])) edges.append(medium) count2+=2 UnitedVisibilityGraphDict[data[0]]=edges count+=1 #print UnitedVisibilityGraphDict['1'] #test code #print UnitedVisibilityGraphDict['4'] return UnitedVisibilityGraphDictdef DrawVisibilityGraphDict(UnitedVisibilityGraphDict): graphList=[] for i in range(1,len(UnitedVisibilityGraphDict)+1): G=nx.Graph() G.add_edges_from(UnitedVisibilityGraphDict[str(i)]) graphList.append((i,G)) #i is int type ,G is class type fig=plt.figure(figsize=(20,16)) #plt.clf()#clear canvas for i in range(1,26): ax=fig.add_subplot(5,5,i) ax.set_xticks([]) ax.set_yticks([]) ax.set_ylim([-0.2,1.2]) plt.title('Visibility Graph State %d'%(graphList[i-1][0])) #nx.draw(graphList[i-1][1],pos,node_size=150,with_labels=True) #this method can draw the picture without frame pos=nx.spring_layout(graphList[i-1][1],iterations=30) nx.draw_networkx_nodes(graphList[i-1][1],pos,node_size=400) nx.draw_networkx_edges(graphList[i-1][1],pos,width=2) nx.draw_networkx_labels(graphList[i-1][1],pos,font_size=20,font_family='sans-serif') plt.savefig("outputResult/VisibilityGraphDict2.png") plt.show()if __name__=="__main__": UnitedVisibilityGraphDict=LoadData() DrawVisibilityGraphDict(UnitedVisibilityGraphDict)
结果:
0 0
- 绘制网络分面图—matplotlib,networkx
- python下的复杂网络编程包networkx、matplotlib、numpy安装及报错解决方案
- networkx笔记:绘制基本网络图
- python networkx 绘制网络图简介
- Python networkx 绘制网络图简介
- networkx笔记:绘制基本网络图
- 【Python】Matplotlib画图(十)——基于networkx画关系网络图
- python---matplotlib安装、networkx的使用
- python networkx numpy scipy matplotlib 安装
- NetworkX用法之三——网络演化…
- NetworkX用法之四——网络可视…
- python中networkx包学习——画网络图像
- matplotlib 可视化 —— 绘制常见图形
- python —— Matplotlib模块(绘制决策树)
- Python——使用matplotlib绘制柱状图
- matplotlib入门——绘制简单图形
- matplotlib学习—绘制简单自定义曲线
- networkx 分析复杂网络资料
- cocos2d-x-3.xWindows下的环境搭建,包括Android项目的配置
- C++ 中dynamic_cast<>的使用方法
- UML简单介绍(十二)——活动图基本概念与解析
- libEvent库在windows下编译出带调试信息的lib库可以单步进去调试step in
- linux内核使用的一些算法和思想(个人总结)
- 绘制网络分面图—matplotlib,networkx
- 非关系型数据库
- 关于Win8 用不了USB转串口驱动
- Android中的volley_11_Request
- hdoj1089 a+b(1)
- 4.dict和set
- 哪里有电话吸费 加值电话 小投资高回报
- 【深入了解cocos2d-x 3.x】定时器(scheduler)的使用和原理探究(3)
- vikioi1068 乌龟棋(四维背包动态规划)