[问题类型]:
程式咨询(我想用R 做某件事情,但是我不知道要怎么用R 写出来)
[软件熟悉度]:
入门(写过其他程式,只是对语法不熟悉)
[问题叙述]:
各位大大好,小弟我想利用R画台湾附近台风的轨迹线,而上网查到一个利用ggplot画
轨迹线的程式范例,因此我就拿来用在我的资料上,然后也上网查了要如何用ggplot画台
湾地图,但ggmap现在似乎要付费才有办法使用,所以我找了另一个用ggplot画台湾地图
的范例,但因为在此之前都没用过ggplot画图过,所以不知道该如何将台风的轨迹线叠加
到台湾地图上,还请教大大们,谢谢。
台风轨迹线资讯和台湾地图的档案皆放在这里:http://0rz.tw/JI056
[程式范例]:
library(csv)
library(ggplot2)
library(dplyr)
library(dplyr)
library(stringr)
library(data.table)
library(maptools)
library(knitr)
library(kableExtr)
#读取台风资料
typhoon <- read.csv("C:\\Users\\TOM\\Desktop\\typhoon.csv")
View(typhoon)
typhoon <- typhoon %>% group_by(CycloneNo) %>%
mutate(state=case_when(StepNo==1 ~ "Start",
StepNo==max(StepNo)~ "End",
T ~ "NA"))
View(typhoon)
#画轨迹线
ggplot(typhoon,aes(x=LongE,y=LatN,group=CycloneNo,color=as.factor(CycloneNo)))
+
geom_path() +
geom_point(data=typhoon %>%
filter(state!="NA"),aes(fill=state,shape=state),size=2 ) +
geom_text(data=typhoon %>%
filter(state=="Start"),aes(label=CycloneNo),color="black",vjust=0,hjust=1) +
guides(colour=F)
#画台湾地图
taiwan_shp <-
readShapeSpatial("C:\\Users\\TOM\\Desktop\\TWN_adm2\\TWN_adm2.shp")
taiwan_map <- fortify(taiwan_shp)
map <- ggplot(taiwan_map, aes(x = long, y = lat, group=group)) +
geom_path() +
coord_map()
[环境叙述]:
画出来的轨迹线和台湾地图分别为下面这两张图,而要叠在一起我想两张图的坐标轴应该
要一致才有办法叠在一起,但我不知道该如何将两者的经纬度调成一样和叠图的设定。
https://imgur.com/yrAJzzn
https://imgur.com/hUTzDvA
[关键字]:
ggplot 叠图 轨迹线 地图