[問題類型]:
程式諮詢(我想用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 疊圖 軌跡線 地圖