[問題] ggplot疊圖

看板R_Language作者 (沒有妳的我)時間5年前 (2019/10/31 18:12), 5年前編輯推噓4(4013)
留言17則, 4人參與, 5年前最新討論串1/1
[問題類型]: 程式諮詢(我想用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

10/31 19:06, 5年前 , 1F
先畫好台灣後面 +geom_path(aes(略), data = pyphoon)
10/31 19:06, 1F

10/31 20:52, 5年前 , 2F
推薦sf twm = sf::st_read("adm2/TWN_adm2.shp")
10/31 20:52, 2F

10/31 20:53, 5年前 , 3F
ggplot()+geom_sf(data=twm)+geom_path(data=typhoon,...
10/31 20:53, 3F

10/31 23:05, 5年前 , 4F

10/31 23:07, 5年前 , 5F
andrew大是指改成這樣嗎??但改成這樣會有錯誤訊息
10/31 23:07, 5F

10/31 23:08, 5年前 , 6F

10/31 23:31, 5年前 , 7F
我用了c大的寫法就可以了,感謝andrew大和c大~
10/31 23:31, 7F

10/31 23:39, 5年前 , 8F
另外想再請教一個問題,如何我想在台灣的中心點(給定
10/31 23:39, 8F

10/31 23:39, 5年前 , 9F
一個經緯度位置)畫一個半徑300km的空心圓,我可以朝
10/31 23:39, 9F

10/31 23:39, 5年前 , 10F
哪個參數設定去想呢??
10/31 23:39, 10F

11/01 00:17, 5年前 , 11F
geom_circle() 不要背景顏色就是空心圓了
11/01 00:17, 11F

11/01 00:34, 5年前 , 12F
也可用sf::st_buffer畫圓,但單位要轉換一下 crs也要設
11/01 00:34, 12F

11/01 10:55, 5年前 , 13F
我的 “略” 不是留空白啊 XD。c 板主已經清楚說明了,
11/01 10:55, 13F

11/01 10:55, 5年前 , 14F
而我的意思和他相同。
11/01 10:55, 14F

11/02 22:52, 5年前 , 15F
謝謝l大和c大,我這幾天研究看看
11/02 22:52, 15F

11/02 22:53, 5年前 , 16F
andrew大~了解,再次謝謝你
11/02 22:53, 16F
想再請教各位大大一個問題(因考慮內容類似就不另再發文),如果我只想抽出影響時間 有持續達到18小時以上(當天日期"時"包含0.6.12.18)的時間出來的話,想請教我寫的 程式碼該如何修改才正確呢?? ※ 編輯: AndrewShi (1.200.205.107 臺灣), 11/06/2019 15:49:00

11/06 15:50, 5年前 , 17F
文章代碼(AID): #1TkhEevT (R_Language)
文章代碼(AID): #1TkhEevT (R_Language)