前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >R语言用igraph对上海公交巴士路线数据进行复杂网络、网络图可视化|数据分享

R语言用igraph对上海公交巴士路线数据进行复杂网络、网络图可视化|数据分享

原创
作者头像
拓端
发布2022-11-22 20:30:49
2950
发布2022-11-22 20:30:49
举报
文章被收录于专栏:拓端tecdat

全文链接:http://tecdat.cn/?p=30478

原文出处:拓端数据部落公众号

复杂网络简介

现实世界中充满了网络世界,铁路线路网络、航空网络和人际关系网络。复杂网络是大量真实复杂系统的拓扑关系。在复杂网络分析的帮助下,我们期望将复杂的东西简化,找到隐藏的拓扑关系的新结构,找到节点与节点之间的规律,同时将数据可视化。本文中我们被要求对上海公交路线进行可视化。

读取数据

image.png
image.png
image.png
image.png
代码语言:javascript
复制
ljhdat1=readLines("E:/shanghai_1.txt" )
ljhdat2=readLines("E:/shanghai_2.txt")
ljhdat3=readLines("E:/shanghai_3.txt")
ljhdat4=readLines("E:/shanghai_4.txt")
ljhdat5=readLines("E:/shanghai_5.txt")

建立巴士信息库

代码语言:javascript
复制
for(i in 1:length(ljhdat1)){
  
  if(ljhdat1[i]=="")bus=c(bus,ljhdat1[i-1])#提取每个巴士的路线信息
image.png
image.png

建立路线信息

分割路线得到站点信息

代码语言:javascript
复制
route[[1]]=route[[1]][-which(route[[1]]=="#")]#删除#号

建立邻接矩阵

代码语言:javascript
复制
library(igraph)

d = data.frame(route[[1]][1:n-1] ,route[[1]][2:n ]
image.png
image.png
image.png
image.png

分割所有路线得到站点信息

代码语言:javascript
复制
for(i in 1:length(bus)){
route[[i]]=unlist(strsplit(bus[i],split=" "))[-1]#分割巴士站点信息
image.png
image.png

绘制网络图

QQ截图202211071216503.png
QQ截图202211071216503.png

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 全文链接:http://tecdat.cn/?p=30478
  • 原文出处:拓端数据部落公众号
  • 复杂网络简介
  • 读取数据
  • 建立巴士信息库
  • 建立路线信息
  • 建立邻接矩阵
  • 分割所有路线得到站点信息
  • 绘制网络图
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档