看板 R_Language 關於我們 聯絡資訊
[問題類型]: 程式諮詢(我想用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 疊圖 軌跡線 地圖 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 140.122.212.62 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/R_Language/M.1572516776.A.E5D.html
andrew43: 先畫好台灣後面 +geom_path(aes(略), data = pyphoon)10/31 19:06
cywhale: 推薦sf twm = sf::st_read("adm2/TWN_adm2.shp")10/31 20:52
cywhale: ggplot()+geom_sf(data=twm)+geom_path(data=typhoon,...10/31 20:53
AndrewShi: https://imgur.com/jAB83f310/31 23:05
AndrewShi: andrew大是指改成這樣嗎??但改成這樣會有錯誤訊息 10/31 23:07
AndrewShi: https://imgur.com/H8d5rKT10/31 23:08
AndrewShi: 我用了c大的寫法就可以了,感謝andrew大和c大~10/31 23:31
AndrewShi: 另外想再請教一個問題,如何我想在台灣的中心點(給定10/31 23:39
AndrewShi: 一個經緯度位置)畫一個半徑300km的空心圓,我可以朝10/31 23:39
AndrewShi: 哪個參數設定去想呢??10/31 23:39
locka: geom_circle() 不要背景顏色就是空心圓了11/01 00:17
cywhale: 也可用sf::st_buffer畫圓,但單位要轉換一下 crs也要設 11/01 00:34
andrew43: 我的 “略” 不是留空白啊 XD。c 板主已經清楚說明了, 11/01 10:55
andrew43: 而我的意思和他相同。11/01 10:55
AndrewShi: 謝謝l大和c大,我這幾天研究看看11/02 22:52
AndrewShi: andrew大~了解,再次謝謝你11/02 22:53
想再請教各位大大一個問題(因考慮內容類似就不另再發文),如果我只想抽出影響時間 有持續達到18小時以上(當天日期"時"包含0.6.12.18)的時間出來的話,想請教我寫的 程式碼該如何修改才正確呢?? ※ 編輯: AndrewShi (1.200.205.107 臺灣), 11/06/2019 15:49:00
AndrewShi: https://imgur.com/BHtfQvm 11/06 15:50