ggplot2 | 使用ggplot2工具包繪製地圖

2021-12-21 R語言學堂

公告:本號的「地理計算與分析專輯」已經更名為「地理製圖與分析專輯」,原先關注該專輯的讀者需要重新關注下。

ggplot2工具包用於繪製地圖的有如下幾個函數:

這些函數中,最常用的是前兩個函數,本篇就來介紹這兩個函數。

加載相關工具包和示例數據:

library(ggplot2)
library(patchwork)
library(sf)
library(RColorBrewer)
library(tidyverse)
data <- socviz::county_data
albersusa::counties_sf(proj = "laea") %>%
  mutate(fips = as.character(fips)) %>%
  left_join(data, by = c("fips" = "id")) -> usa

使用geom_sf()繪製地圖:

map <- ggplot(usa) +
  geom_sf(aes(fill = log(pop, 10))) +
  scale_fill_stepsn(colours = brewer.pal(4, "Spectral"),
                    breaks = c(4, 5, 6),
                    name = "pop",
                    label = c(expression(10^4, 10^5, 10^6))) +
  theme_bw()
map

geom_sf()函數與其他幾何圖形函數的使用方法類似,區別在於其不用指定x、y變量。

coord_sf()函數用於地圖的投影轉換:

map + coord_sf(crs = 2345)

上圖只是隨便指定了一個投影坐標,更多投影坐標的EPSG代碼可以在http://epsg.io/上進行查詢。查詢界面:
查詢結果:
map + coord_sf(crs = 8826)

相關閱讀

相關焦點

  • 手把手教你使用ggplot2繪製中國地圖
    自從用了ggplot2包,越來越覺得其博大精深,通過圖層的概念可以繪製豐富的可視化圖形,如常見的散點圖、直方圖、條形圖、折線圖等。
  • 手把手教你使用ggplot2繪製折線圖
    下面來解釋一下關於折線圖的繪製。一、繪製單條折線圖有關時間序列的折線圖library(ggplot2)library(lubridate) #處理日期時間相關的R包,非常有用,強烈推薦Year <- year(seq(from = as.Date('
  • R-ggplot2 標準中國地圖製作
    ggplot2 + sf 中國標準地圖繪製cowplot 包實現地圖子圖插入ggplot2 + sf 中國標準地圖繪製本期的繪圖我們是按照如下圖表進行繪製的(該圖來自朋友公號):其實我很早就想試著用R進行此類圖表的繪製了,但由於強大的Arcgis和繪圖進度等原因
  • R語言ggplot2 (一):ggplot2包安裝和初始作圖
    ggplot2是一款強大的圖形可視化R包,其作圖方式易於理解,且生成的圖形精美,定製化程度也很高,應該是R裡面最流行的可視化工具。
  • ggplot2繪製人體結構圖
    分享一個ggplot2繪製人體結構圖的小例子,喜歡的小夥伴可以關注個人公眾號R語言數據分析指南
  • 手把手教你使用ggplot2繪製條形圖
    繪製離散單變量的條形圖從數據形式來看:有匯總好的數據集和明細數據集使用匯總好的數據集繪製條形圖:x <- c('A','B','C','D','E')y <- c(13,22,16,31,8)df <- data.frame(x = x, y = y)ggplot(data = df
  • 基於ggplot2包繪製SCI學術箱線圖的保姆級教程
    具體含義可通過如下圖表進行說明:圖源網絡,侵刪本期推文使用ggplot2包來繪製箱線圖。1. 加載數據、數據在後臺回復箱線圖即可免費獲取。2. 繪製基本箱線圖使用ggplot2包繪製箱線圖很簡單,主要使用geom_boxplot()函數,先採用默認的參數繪製。
  • 初學ggplot2(一)
    翻開《ggplot2:數據分析與圖形藝術》,給人一種耳目一新的感覺,它與傳統的R繪圖工具有本質的區別,借用黃寶臣對ggplot2的幾點總結:1)ggplot2的核心理念是將繪圖與數據分離,數據相關的繪圖與數據無關的繪圖分離;2)ggplot2是按圖層作圖;3)ggplot2保有命令式作圖的調整函數,使其更具靈活性;
  • R-ggplot2 學術散點圖繪製
    本期推文,我們使用 R-ggplot2 繪製學術擬合散點圖,關注公眾號並後臺回復"資源分享"即可獲取包括本篇教程的數據及其他繪圖教程的
  • ggplot2繪製啞鈴圖
    啞鈴圖是分組條形圖的絕佳替代品,因為啞鈴圖在紙張上使用的墨水更少,而且易於理解使用gapminder數據集並製作啞鈴圖,以顯示多個國家的預期壽命值在1952年至2007年之間的變化library(tidyverse)library(gapminder)
  • 實用帖之R-ggplot2 標準中國地圖製作
    這期涉及空間圖表繪製,主要涉及知識點如下:ggplot2 + sf 中國標準地圖繪製本期的繪圖我們是按照如下圖表進行繪製的(該圖來自朋友公號):其實我很早就想試著用R進行此類圖表的繪製了,但由於強大的Arcgis和繪圖進度等原因,導致遲遲沒有進行,這期就進行此類圖表的繪製
  • ggplot2包輕鬆繪製小提琴圖
    violin plot• geom_dotplot() for dot plot• geom_jitter() for stripchart• geom_line() for line plot• geom_bar() for bar plot今天我們介紹一下小提琴圖library(ggpl
  • 如何用ggplot2繪製漂亮的統計圖形
    ggplot2 建立在 Wilkinson 語法的基礎上,它關注於圖層(layer)的優先地位,並對其進行調整,以便在 R 中使用。簡而言之,圖形語法告訴我們圖形將數據映射到幾何對象(點、線、條)的美學屬性(顏色、形狀、大小)。圖形還可以包括關於繪圖坐標系統的數據和信息的統計變換。分面(facet)可用於繪製數據的不同子集。
  • 第十二講:R作圖-ggplot2繪製箱式圖
    這一講,我們將介紹如何用ggplot2軟體包中的函數geom_boxplot()繪製複雜箱式圖。dose 1 4.2 VC 0.5 2 11.5 VC 0.5 3 7.3 VC 0.5 4 5.8 VC 0.5 5 6.4 VC 0.5 6 10.0   VC 0.5確保使用上述R腳本將變量劑量轉換為因子變量。
  • 入門 ggplot2 的圖形語法
    ggplot2 包是 Hadly Wickham 開發(除 ggplot2 外,還有 plyr 和 reshape2 包)的一款通過 「+」,以圖層疊加的搭配組合,易於實現數據可視化的 R 包。ggplot2 以美輪美奐的統計製圖能力位居各類繪圖軟體排名前列,同時此包功能也在增加。此文簡單介紹 ggplot2 的基本原理和操作,便於大家對 ggplot2 快速入門。
  • 【R】ggplot2繪製多組柱狀圖
    有時候我們需要對多組的不同情況得到的數據進行展示如下圖:代碼如下:# 安裝並加載相關軟體包#install.packages("reshape2")#install.packages("ggplot2")#install.packages("tidyr")library("reshape2")library("tidyr")library(ggplot2)# 選擇要繪圖的csv文件file_path <- file.choose()# 讀取文件到p變量p <- read.table(file_path)# 設置繪圖的調色板
  • 超棒教程:如何用ggplot2繪製漂亮的統計圖形
    我們通常使用笛卡爾坐標系,但也有其他一些方法,包括極坐標和地圖投影。4)分面:指定如何分解數據子集並將其顯示為小的圖形。5)主題:控制更精細的顯示點,如字體大小和背景顏色。雖然ggplot2謹慎地選擇了默認值,但你可能需要參考其他參考資料來創建有吸引力的圖。
  • 地圖可視化繪製 | R-ggplot2 NC地圖文件可視化
    R包讀取在R中讀取nc文件,我們首選ncdf4包,其使用參考網址如下:https://rdrr.io/cran/ncdf4/。nc數據的可視化繪製由於我們使用的是ggplot2進行繪製,所以我們直接使用raster包進行nc文件的讀取(其實也是調用ncdf4包進行處理),數據我們就使用昨天分享數據的數據:數據(代碼)分享 | 全球生物氣候指標數據集。
  • 第五十七講:R作圖-ggplot2繪製小提琴圖
    library(ggplot2)p<-ggplot(ToothGrowth, aes(x=dose, y=len))+geom_violin()p# 圖形翻轉p+coord_flip()# 將修剪trim參數設置為FALSEggplot(ToothGrowth, aes(x=dose, y=len))+geom_violin(
  • ggplot2你需要知道的都在這...
    加載了ggplot2包之後,可以使用如下語句繪製出下圖ggplot(data=mpg,mapping = aes(x=cty,y=hwy))+geom_point()+aes(colour=fact          or(mpg$year))