##使用leaflet绘制地铁线路图,要求

##(1)图中绘制地铁线路

library(dplyr)
library(leaflet)
library(data.table)
stations<-read.csv("C:\\Users\\BIGDATA\\Desktop\\文件\\BigData\\R语言\\相关作业文档\\3\\第五次实训课数据\\systation.csv"); stations <- arrange(stations,line,line_id) lines_color <- data.frame("line"=c(1:13,16),"color"=c("#00008B","#000000","#000000","#000000","#823094","#CF047A","#F3560F","#008CC1","#91C5DB","#C7AFD3","#8C2222","#007a61","#ec91cc","#32D2CA")) pal <- colorFactor(as.character(lines_color$color), domain = stations$line) Shenyang <- leaflet() %>%
setView(lng=123.44,lat=41.81,zoom = 11) %>% addProviderTiles("CartoDB.Positron") ## 辅助函数绘制线路 draw_line_add <- function(l_no,line_s_id=NULL){
line_color <- lines_color[lines_color$line==l_no,]$color
line_data <- stations[stations$line==l_no,]
if(is.null(line_s_id)){
draw_lines <- Shenyang %>%
addPolylines(lat=line_data$gps_lat,lng=line_data$gps_lon,color=line_color)
}else{
draw_lines <- Shenyang %>%
addPolylines(lat=line_data$gps_lat[line_s_id],lng=line_data$gps_lon[line_s_id],color=line_color)
}
return(draw_lines)
}
for(l in unique(stations$line)){
line_length <- nrow(stations[stations$line==l,])
Shenyang<- draw_line_add(l_no=l)
} stations_no <- nrow(stations)
for (i in 1:stations_no) {
s <- stations$station[i]
stations$lines[i] <- paste(stations[stations$station==s,]$line,sep="",collapse="/")
} #添加地铁站名
Shenyang<- Shenyang%>%
addCircleMarkers(stations$gps_lon, stations$gps_lat, popup =paste(stations$station,stations$lines,sep=","),color = pal(stations$line), radius=1.5) %>%
addLegend(pal=pal,values = stations$line)
Shenyang


  

##(2)各站点展示进站流量(08:00:00-08:05:00间的数据),流量的大小用标记的大小表示,并且提示线路、站点、流量的具体数值。

library(lubridate)
library(data.table)
library(dplyr)
library(sqldf)
library(leaflet) stations<-read.csv("C:\\Users\\BIGDATA\\Desktop\\文件\\BigData\\R语言\\相关作业文档\\3\\第五次实训课数据\\systation.csv");
stadata<-read.csv("C:\\Users\\BIGDATA\\Desktop\\文件\\BigData\\R语言\\相关作业文档\\3\\第五次实训课数据\\SY-20150401.csv");
stadata$se<-period_to_seconds(hms(stadata$V3))
stadata<-as.data.table(stadata)
stadata<-filter(stadata,V6==0 & se>=28800 & se<=29100) getR <- function(quakes) {
sapply(quakes$count, function(count) {
count/40
})
} stad<-substring(stadata['V4'][,],4)
stad<-data.frame(stad);
names(stad)[1]<-'station' stations<-stations[order(stations$station),] count<-sqldf("select station, count(*) from stad group by station")
s<-merge(count,stations,by="station") names(s)[2]<-c('count') Shenyang %>% addCircleMarkers(s$gps_lon, s$gps_lat, popup =paste(s$station,s$line,sep=","),color = pal(s$line), radius=getR(s),label=as.character(s$count)) %>% addTiles()

  

##使用plotly绘制(17:00:00-17:05:00)出站流量最多的五个站点的出站流量。

library(lubridate)
library(sqldf)
library(plotly) stations<-read.csv("C:\\Users\\BIGDATA\\Desktop\\文件\\BigData\\R语言\\相关作业文档\\3\\第五次实训课数据\\systation.csv");
stadata<-read.csv("C:\\Users\\BIGDATA\\Desktop\\文件\\BigData\\R语言\\相关作业文档\\3\\第五次实训课数据\\SY-20150401.csv"); stadata$se<-period_to_seconds(hms(stadata$V3))
stadata<-filter(stadata,V6!=0 & se>=61200 & se<=61500) stad<-substring(stadata['V4'][,],4)
stad<-data.frame(stad);
names(stad)[1]<-'station' stations<-stations[order(stations$station),] count<-sqldf("select station, count(*) from stad group by station")
s<-merge(count,stations,by="station")
names(s)[2]<-c('count')
s[17,2]<-s[17,2]*2;
st<-s[-18,];
st<-st[order(-s$count),];
st<-st[1:5,1:2];
plot_ly(st, x=~station,y=~count)

  

R语言绘制沈阳地铁线路图的更多相关文章

  1. canves绘制北京地铁线路图,包括线路绘制,优先路线,单路径选择。

    canves绘制北京地铁线路图,包括线路绘制,优先路线,单路径选择. 即将推出,后台涵盖各种语言,php,C#,java,nodejs等.

  2. R语言绘制相对性关系图

    准备 第一步就是安装R语言环境以及RStudio 图绘制准备 首先安装库文件,敲入指令,回车 install.packages('corrplot') 然后安装excel导入的插件,点击右上角impo ...

  3. 一幅图解决R语言绘制图例的各种问题

    一幅图解决R语言绘制图例的各种问题 用R语言画图的小伙伴们有木有这样的感受,"命令写的很完整,运行没有报错,可图例藏哪去了?""图画的很美,怎么总是图例不协调?" ...

  4. R语言绘制空间热力图

    先上图 R语言的REmap包拥有非常强大的空间热力图以及空间迁移图功能,里面内置了国内外诸多城市坐标数据,使用起来方便快捷. 开始 首先安装相关包 install_packages("dev ...

  5. R语言绘制花瓣图flower plot

    R语言中有很多现成的R包,可以绘制venn图,但是最多支持5组,当组别数大于5时,venn图即使能够画出来,看上去也非常复杂,不够直观: 在实际的数据分析中,组别大于5的情况还是经常遇到的,这是就可以 ...

  6. R语言绘制QQ图

    无论是直方图还是经验分布图,要从比较上鉴别样本是否处近似于某种类型的分布是困难的 QQ图可以帮我们鉴别样本的分布是否近似于某种类型的分布 R语言,代码如下: > qqnorm(w);qqline ...

  7. R语言绘制直方图,

    直方图: 核密度函数: 练习题目1: 绘制出15位同学体重的直方图和核密度估计图,并与正态分布的概率密度函数作对比 代码如下: > w <- c(75.0, 64.0, 47.4, 66. ...

  8. R语言绘制正太分布图,并进行正太分布检验

    正态分布 判断一样本所代表的背景总体与理论正态分布是否没有显著差异的检验.   方法一概率密度曲线比较法 看样本与正太分布概率密度曲线的拟合程度,R代码如下: #画样本概率密度图s-rnorm(100 ...

  9. 使用R语言绘制图表

    #========================================================#wolf moose graph version 20170616.R###Data ...

随机推荐

  1. python练习笔记——求三位的水仙花数

    百位数的立方 + 十位数的立方 +个位数的立方 = 原数 for m in range(1,10): for n in range(0,10): for i in range(0,10): a = m ...

  2. 关于Andorid的RecyclerView在V7包下找不到的解决办法

      关于Andorid的RecyclerView在V7包下找不到的解决办法 最近在学习使用RecyclerView替换现有的ListView,看了几篇文章.当准备自己动手实现的时候发现,V7包下找不到 ...

  3. BEGINNING SHAREPOINT&#174; 2013 DEVELOPMENT 第13章节--使用业务连接服务创建业务线解决方式 SP Apps中的BCS

    BEGINNING SHAREPOINT® 2013 DEVELOPMENT 第13章节--使用业务连接服务创建业务线解决方式  SP Apps中的BCS         之前的联系中,你安装了一个业 ...

  4. Python chr() 函数

    描述 chr() 用一个范围在 range(256)内的(就是0-255)整数作参数,返回一个对应的字符. 语法 以下是 chr() 方法的语法: chr(i) 参数 i -- 可以是10进制也可以是 ...

  5. /usr/local/ssl/lib/libssl.a: error adding symbols: Bad value

    一.背景 编译第三方库A的时候提示依赖openssl库. 二.编译openssl库 去官网下载最新版本的openssl-1.0.2l.tar.gztar -zxvf openssl-1.0.2l.ta ...

  6. Android IPC机制(三)在Android Studio中使用AIDL实现跨进程方法调用

    在上一篇文章Android IPC机制(二)用Messenger进行进程间通信中我们介绍了使用Messenger来进行进程间通信的方法.可是我们能发现Messenger是以串行的方式来处理client ...

  7. 在linux下导入.sql文件,数据库中文乱码

    现象描述 我是在aix下面导入如下SQL语句时,数据库中显示乱码. insert into CONFERENCE(CONFERENCEID,SUBCONFERENCEID,ACCESSNUMBER,A ...

  8. Win2008 r2 IIS7.5出现FastCGI进程最近常常失败。请过一会再尝试此请求的解决方法

    错误信息如图所示: 应用程序“PIAOYUN.CC”中的服务器错误Internet Information Services 7.5 错误摘要HTTP 错误 500.0 - Internal Serv ...

  9. Google大牛分享的面试秘籍

    我憋了很长时间想写点关于去Google面试的秘籍.不过我总是推迟,因为写出来的东西会让你抓狂.很可能是这样.如果按统计规律来定义“你”的话,这文章很可能让你不爽. 为啥呢?因为啊……好吧,对此我写首小 ...

  10. angular.js 中同步视图和模型数据双向绑定,$watch $digest $apply 机制

    Angular.js 中的特性,双向绑定. 让视图的改变直接反应到数据中,数据的改变又实时的通知到视图,如何做到的? 这要归功于 scope 下面3个重要的方法: $watch $digest $ap ...