Nothing
## ----echo=FALSE---------------------------------------------------------------
knitr::opts_chunk$set(collapse = TRUE,
fig.width = 4.08,
fig.height = 5,
margin = TRUE)
knitr::knit_hooks$set(margin = function(before, options, envir){
if (before){
par(mar=c(0.1,0.1,1.3,0.1))
}
})
## ----propMap, message=FALSE, warning=FALSE------------------------------------
library(sf)
library(cartography)
# path to the geopackage file embedded in cartography
path_to_gpkg <- system.file("gpkg/mtq.gpkg", package="cartography")
# import to an sf object
mtq <- st_read(dsn = path_to_gpkg, quiet = TRUE)
# plot municipalities (only borders are plotted)
plot(st_geometry(mtq), col = "grey80", border = "grey")
# plot population
propSymbolsLayer(
x = mtq,
var = "POP",
inches = 0.25,
col = "brown4",
legend.pos = "topright",
legend.title.txt = "Total population"
)
# layout
layoutLayer(title = "Population Distribution in Martinique",
sources = "Sources: Insee and IGN, 2018",
author = paste0("cartography ", packageVersion("cartography")),
frame = FALSE, north = FALSE, tabtitle = TRUE)
# north arrow
north(pos = "topleft")
## ----choroMap-----------------------------------------------------------------
library(sf)
library(cartography)
# path to the geopackage file embedded in cartography
path_to_gpkg <- system.file("gpkg/mtq.gpkg", package="cartography")
# import to an sf object
mtq <- st_read(dsn = path_to_gpkg, quiet = TRUE)
# population density (inhab./km2) using sf::st_area()
mtq$POPDENS <- 1e6 * mtq$POP / st_area(mtq)
# plot municipalities (only the backgroung color is plotted)
plot(st_geometry(mtq), col = NA, border = NA, bg = "#aadaff")
# plot population density
choroLayer(
x = mtq,
var = "POPDENS",
method = "geom",
nclass=5,
col = carto.pal(pal1 = "sand.pal", n1 = 5),
border = "white",
lwd = 0.5,
legend.pos = "topright",
legend.title.txt = "Population Density\n(people per km2)",
add = TRUE
)
# layout
layoutLayer(title = "Population Distribution in Martinique",
sources = "Sources: Insee and IGN, 2018",
author = paste0("cartography ", packageVersion("cartography")),
frame = FALSE, north = FALSE, tabtitle = TRUE, theme= "sand.pal")
# north arrow
north(pos = "topleft")
## ----pentypoMap---------------------------------------------------------------
library(sf)
library(cartography)
# path to the geopackage file embedded in cartography
path_to_gpkg <- system.file("gpkg/mtq.gpkg", package="cartography")
# import to an sf object
mtq <- st_read(dsn = path_to_gpkg, quiet = TRUE)
# transform municipality multipolygons to (multi)linestrings
mtq_pencil <- getPencilLayer(
x = mtq,
size = 400,
lefthanded = F
)
# plot municipalities (only the backgroung color is plotted)
plot(st_geometry(mtq), col = "white", border = NA, bg = "lightblue1")
# plot administrative status
typoLayer(
x = mtq_pencil,
var="STATUS",
col = c("aquamarine4", "yellow3","wheat"),
lwd = .7,
legend.values.order = c("Prefecture",
"Sub-prefecture",
"Simple municipality"),
legend.pos = "topright",
legend.title.txt = "",
add = TRUE
)
# plot municipalities
plot(st_geometry(mtq), lwd = 0.5, border = "grey20", add = TRUE, lty = 3)
# labels for a few municipalities
labelLayer(x = mtq[mtq$STATUS != "Simple municipality",], txt = "LIBGEO",
cex = 0.9, halo = TRUE, r = 0.15)
# title, source, author
layoutLayer(title = "Administrative Status",
sources = "Sources: Insee and IGN, 2018",
author = paste0("cartography ", packageVersion("cartography")),
north = FALSE, tabtitle = TRUE, postitle = "right",
col = "white", coltitle = "black")
# north arrow
north(pos = "topleft")
## ----propchoro, fig.width=5---------------------------------------------------
library(sf)
library(cartography)
# path to the geopackage file embedded in cartography
path_to_gpkg <- system.file("gpkg/mtq.gpkg", package="cartography")
# import to an sf object
mtq <- st_read(dsn = path_to_gpkg, quiet = TRUE)
# Plot the municipalities
plot(st_geometry(mtq), col="darkseagreen3", border="darkseagreen4",
bg = "lightblue1", lwd = 0.5)
# Plot symbols with choropleth coloration
propSymbolsChoroLayer(
x = mtq,
var = "POP",
border = "grey50",
lwd = 1,
legend.var.pos = "topright",
legend.var.title.txt = "Population",
var2 = "MED",
method = "equal",
nclass = 4,
col = carto.pal(pal1 = "sand.pal", n1 = 4),
legend.var2.values.rnd = -2,
legend.var2.pos = "left",
legend.var2.title.txt = "Median\nIncome\n(in euros)"
)
# layout
layoutLayer(title="Population & Wealth in Martinique, 2015",
author = "cartography 2.1.3",
sources = "Sources: Insee and IGN, 2018",
scale = 5, tabtitle = TRUE, frame = FALSE)
# north arrow
north(pos = "topleft")
## ----proptypo-----------------------------------------------------------------
library(sf)
library(cartography)
# path to the geopackage file embedded in cartography
path_to_gpkg <- system.file("gpkg/mtq.gpkg", package="cartography")
# import to an sf object
mtq <- st_read(dsn = path_to_gpkg, quiet = TRUE)
# Plot the municipalities
plot(st_geometry(mtq), col="#f2efe9", border="#b38e43", bg = "#aad3df",
lwd = 0.5)
# Plot symbols with choropleth coloration
propSymbolsTypoLayer(
x = mtq,
var = "POP",
inches = 0.5,
symbols = "square",
border = "white",
lwd = .5,
legend.var.pos = "topright",
legend.var.title.txt = "Population",
var2 = "STATUS",
legend.var2.values.order = c("Prefecture", "Sub-prefecture",
"Simple municipality"),
col = carto.pal(pal1 = "multi.pal", n1 = 3),
legend.var2.pos = c(692000, 1607000),
legend.var2.title.txt = "Administrative\nStatus"
)
# layout
layoutLayer(title="Population Distribution in Martinique",
author = "cartography 2.1.3",
sources = "Sources: Insee and IGN, 2018",
scale = 5, tabtitle = TRUE, frame = FALSE)
# north arrow
north(pos = "topleft")
## ----labelMap-----------------------------------------------------------------
library(sf)
library(cartography)
# path to the geopackage file embedded in cartography
path_to_gpkg <- system.file("gpkg/mtq.gpkg", package="cartography")
# import to an sf object
mtq <- st_read(dsn = path_to_gpkg, quiet = TRUE)
# plot municipalities
plot(st_geometry(mtq), col = "#e4e9de", border = "darkseagreen4",
bg = "lightblue1", lwd = 0.5)
# plot labels
labelLayer(
x = mtq,
txt = "LIBGEO",
col= "black",
cex = 0.7,
font = 4,
halo = TRUE,
bg = "white",
r = 0.1,
overlap = FALSE,
show.lines = FALSE
)
# map layout
layoutLayer(
title = "Municipalities of Martinique",
sources = "Sources: Insee and IGN, 2018",
author = paste0("cartography ", packageVersion("cartography")),
frame = FALSE,
north = TRUE,
tabtitle = TRUE,
theme = "taupe.pal"
)
## ----linkMap------------------------------------------------------------------
library(sf)
library(cartography)
# path to the geopackage file embedded in cartography
path_to_gpkg <- system.file("gpkg/mtq.gpkg", package="cartography")
# import to an sf object
mtq <- st_read(dsn = path_to_gpkg, quiet = TRUE)
# path to the csv file embedded in cartography
path_to_csv <- system.file("csv/mob.csv", package="cartography")
# import to a data.frame
mob <- read.csv(path_to_csv)
# select workplaces with administrative status = Prefecture or Sub-prefecture
mob <- mob[mob$sj != "Simple municipality",]
# create an sf object of links
mtq_mob <- getLinkLayer(
x = mtq,
xid = "INSEE_COM",
df = mob,
dfid = c("i","j")
)
# set figure background color
par(bg="grey25")
# plot municipalities
plot(st_geometry(mtq), col = "grey13", border = "grey25",
bg = "grey25", lwd = 0.5)
# plot graduated links
gradLinkTypoLayer(
x = mtq_mob,
xid = c("i", "j"),
df = mob,
dfid = c("i","j"),
var = "fij",
breaks = c( 100, 500, 1200, 2500, 4679.0),
lwd = c(1,4,8,16),
legend.var.pos = "left",
legend.var.title.txt = "Nb. of\nCommuters",
var2 = "sj",
col = c("grey85", "red4"),
legend.var2.title.txt = "Workplace",
legend.var2.pos = "topright"
)
# map layout
layoutLayer(title = "Commuting to Prefectures in Martinique",
sources = "Sources: Insee and IGN, 2018",
author = paste0("cartography ", packageVersion("cartography")),
frame = FALSE, col = "grey25", coltitle = "white",
tabtitle = TRUE)
## ----grid---------------------------------------------------------------------
library(sf)
library(cartography)
# path to the geopackage file embedded in cartography
path_to_gpkg <- system.file("gpkg/mtq.gpkg", package="cartography")
# import to an sf object
mtq <- st_read(dsn = path_to_gpkg, quiet = TRUE)
# Create a grid layer, cell size area match the median municipality area
mygrid <- getGridLayer(
x = mtq,
cellsize = median(as.numeric(st_area(mtq))),
var = "POP",
type = "hexagonal"
)
# Compute population density in people per km2
mygrid$POPDENS <- 1e6 * mygrid$POP / mygrid$gridarea
# plot municipalities (only the backgroung color is plotted)
plot(st_geometry(mtq), col = NA, border = NA, bg = "#deffff")
# Plot the population density
choroLayer(x = mygrid, var = "POPDENS", method = "geom", nclass=5,
col = carto.pal(pal1 = "turquoise.pal", n1 = 5), border = "grey80",
lwd = 0.5, legend.pos = "bottomleftextra", add = TRUE,
legend.title.txt = "Population Density\n(people per km2)")
layoutLayer(title = "Population Distribution in Martinique",
sources = "Sources: Insee and IGN, 2018",
author = paste0("cartography ", packageVersion("cartography")),
frame = FALSE, north = FALSE, tabtitle = TRUE,
theme = "turquoise.pal")
# north arrow
north(pos = "topleft")
## ----discc, fig.height=5, fig.width=5, margin=TRUE----------------------------
library(sf)
library(cartography)
# path to the geopackage file embedded in cartography
path_to_gpkg <- system.file("gpkg/mtq.gpkg", package="cartography")
# import to an sf object
mtq <- st_read(dsn = path_to_gpkg, quiet = TRUE)
# Compute the population density (inhab./km2) using sf::st_area()
mtq$POPDENS <- as.numeric(1e6 * mtq$POP / st_area(mtq))
# Get a SpatialLinesDataFrame of countries borders
mtq.contig <- getBorders(mtq)
# plot municipalities (only the backgroung color is plotted)
plot(st_geometry(mtq), col = NA, border = NA, bg = "lightblue1",
xlim = c(690574, 745940))
# Plot the population density with custom breaks
choroLayer(x = mtq, var = "MED",
breaks = c(min(mtq$MED), seq(13000, 21000, 2000), max(mtq$MED)),
col = carto.pal("green.pal", 6),border = "white", lwd = 0.5,
legend.pos = "topright", legend.title.txt = "Median Income\n(euros)",
add = TRUE)
# Plot discontinuities
discLayer(
x = mtq.contig,
df = mtq,
var = "MED",
type = "rel",
method = "geom",
nclass = 3,
threshold = 0.4,
sizemin = 0.7,
sizemax = 6,
col = "red4",
legend.values.rnd = 1,
legend.title.txt = "Relative\nDiscontinuities",
legend.pos = "right",
add = TRUE
)
# Layout
layoutLayer(title = "Wealth Disparities in Martinique, 2015",
author = paste0("cartography ", packageVersion("cartography")),
sources = "Sources: Insee and IGN, 2018",
frame = FALSE, scale = 5, tabtitle = TRUE,theme = "grey.pal")
# north arrow
north(pos = "topleft")
## ----sp, fig.height=3.6, fig.width=5, margin=TRUE-----------------------------
library(sp)
library(cartography)
data("nuts2006")
# Plot a layer with the extent of the EU28 countries with only a background color
plot(nuts0.spdf, border = NA, col = NA, bg = "#A6CAE0")
# Plot non european space
plot(world.spdf, col = "#E3DEBF", border = NA, add = TRUE)
# Plot Nuts2 regions
plot(nuts0.spdf, col = "grey60",border = "white", lwd = 0.4, add = TRUE)
# plot the countries population
propSymbolsLayer(
spdf = nuts0.spdf,
df = nuts0.df,
spdfid = "id",
dfid = "id",
var = "pop2008",
legend.pos = "topright",
col = "red4",
border = "white",
legend.title.txt = "Population"
)
# layout
layoutLayer(title = "Population in Europe, 2008",
sources = "Data: Eurostat, 2008",
author = paste0("cartography ", packageVersion("cartography")),
scale = 500, frame = TRUE, col = "#688994")
# north arrow
north("topleft")
Any scripts or data that you put into this service are public.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.