ggplot2優(yōu)雅的在地圖上添加采樣點(diǎn)信息

最近有朋友問怎么給地圖上用餅圖添加采樣信息,本節(jié)就來介紹一下龙填,滿滿的都是細(xì)節(jié)

下載并加載R包

package.list=c("tidyverse","ggspatial","ggsci",
               "scatterpie","ggrepel","tibble","ggpp","ComplexHeatmap")

for (package in package.list) {
  if (!require(package,character.only=T, quietly=T)) {
    install.packages(package)
    library(package, character.only=T)
  }
}

獲取地圖信息

world_map <- map_data("world") %>% dplyr::rename(country=region) %>%
  mutate(country=str_replace(country,"Taiwan","China")) %>% 
  filter(country != "Antarctica") 

構(gòu)建需要展示的國家數(shù)據(jù)

map <- c("Australia","China","Denmark","Finland","South Africa",
         "France","Germany","Russia","Egypt",
         "Hungary","Japan","Brazil","UK","USA","Canada") %>% 
  as.data.frame() %>% dplyr::rename(country=".") %>% 
  mutate(country=str_replace(country,"Korea","South Korea")) %>% 
  mutate(cou=country)

結(jié)合采樣信息和地圖信息

city <- read.delim("pie.xls",row.names = 1) %>% 
  t() %>% as.data.frame() %>% rownames_to_column(var="city") %>%
  left_join(.,read.delim("map.xls"),by="city")

繪制地圖

geom_scatterpie在地圖上添加多個(gè)餅圖

world_map %>% left_join(.,map,by="country") %>% 
  ggplot()+
  geom_polygon(aes(x = long, y = lat,group = group,fill= cou),
               color = "black",size = 0.2,show.legend = F)+
  geom_scatterpie(data=city,aes(x=longitude,y=latitude,r=3),
                  cols=c("B","C","D"),show.legend=F)+
  geom_text_repel(data=city,aes(x=longitude,y=latitude,label=city),
                  min.segment.length=0,seed = 42,box.padding=1.2,
                  size=4,show.legend = F)+
  scale_fill_simpsons(na.value="gray70")+
  theme_void()+
  theme(plot.background = element_rect(fill="#5BBCD6",
                                       color="transparent",size = 1))+
  annotation_north_arrow(location = "bl",pad_x = unit(0.2,"in"),  
                         pad_y = unit(6,"in"),
                         style = north_arrow_nautical(fill = c("grey40","white"),
                                                      line_col = "grey20"))

添加餅圖圖例

由于geom_polygon & geom_scatterpie都會(huì)產(chǎn)生圖例失仁,無法只選擇一個(gè)尸曼;因此全部設(shè)置show.legend = F;最后通過Legend( )重新繪制圖例

lgd = Legend(labels = c("B","C","D"),
             legend_gp = gpar(fill=c("#FED439FF","#709AE1FF","#197EC0FF")),
             grid_width = unit(7,"mm"),grid_height=unit(7,"mm"))

draw(lgd,x = unit(0.99,"npc"),y = unit(0.6,"npc"),just = c("right","top"))

喜歡的小伙伴歡迎關(guān)注我的公眾號(hào)

R語言數(shù)據(jù)分析指南萄焦,持續(xù)分享數(shù)據(jù)可視化的經(jīng)典案例及一些生信知識(shí)控轿,希望對(duì)大家有所幫助

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市拂封,隨后出現(xiàn)的幾起案子茬射,更是在濱河造成了極大的恐慌,老刑警劉巖冒签,帶你破解...
    沈念sama閱讀 218,122評(píng)論 6 505
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件在抛,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡萧恕,警方通過查閱死者的電腦和手機(jī)刚梭,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,070評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來票唆,“玉大人朴读,你說我怎么就攤上這事∽咔鳎” “怎么了衅金?”我有些...
    開封第一講書人閱讀 164,491評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)簿煌。 經(jīng)常有香客問我氮唯,道長(zhǎng),這世上最難降的妖魔是什么姨伟? 我笑而不...
    開封第一講書人閱讀 58,636評(píng)論 1 293
  • 正文 為了忘掉前任您觉,我火速辦了婚禮,結(jié)果婚禮上授滓,老公的妹妹穿的比我還像新娘。我一直安慰自己肆糕,他們只是感情好般堆,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,676評(píng)論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著诚啃,像睡著了一般淮摔。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上始赎,一...
    開封第一講書人閱讀 51,541評(píng)論 1 305
  • 那天和橙,我揣著相機(jī)與錄音仔燕,去河邊找鬼。 笑死魔招,一個(gè)胖子當(dāng)著我的面吹牛晰搀,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播办斑,決...
    沈念sama閱讀 40,292評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼外恕,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來了乡翅?” 一聲冷哼從身側(cè)響起鳞疲,我...
    開封第一講書人閱讀 39,211評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎蠕蚜,沒想到半個(gè)月后尚洽,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,655評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡靶累,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,846評(píng)論 3 336
  • 正文 我和宋清朗相戀三年腺毫,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片尺铣。...
    茶點(diǎn)故事閱讀 39,965評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡拴曲,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出凛忿,到底是詐尸還是另有隱情澈灼,我是刑警寧澤,帶...
    沈念sama閱讀 35,684評(píng)論 5 347
  • 正文 年R本政府宣布店溢,位于F島的核電站叁熔,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏床牧。R本人自食惡果不足惜荣回,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,295評(píng)論 3 329
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望戈咳。 院中可真熱鬧心软,春花似錦、人聲如沸著蛙。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,894評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽踏堡。三九已至猎唁,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間顷蟆,已是汗流浹背诫隅。 一陣腳步聲響...
    開封第一講書人閱讀 33,012評(píng)論 1 269
  • 我被黑心中介騙來泰國打工腐魂, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人逐纬。 一個(gè)月前我還...
    沈念sama閱讀 48,126評(píng)論 3 370
  • 正文 我出身青樓蛔屹,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國和親风题。 傳聞我的和親對(duì)象是個(gè)殘疾皇子判导,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,914評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容