Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/hrbrmstr/spdorling
🗺 Create Dorling Cartograms from Contiguous Region Shapefiles
https://github.com/hrbrmstr/spdorling
cartogram dorling dorling-cartogram r rstats spatial
Last synced: 23 days ago
JSON representation
🗺 Create Dorling Cartograms from Contiguous Region Shapefiles
- Host: GitHub
- URL: https://github.com/hrbrmstr/spdorling
- Owner: hrbrmstr
- License: other
- Created: 2018-06-01T20:35:06.000Z (over 6 years ago)
- Default Branch: master
- Last Pushed: 2018-06-02T18:58:41.000Z (over 6 years ago)
- Last Synced: 2024-08-06T03:04:52.576Z (3 months ago)
- Topics: cartogram, dorling, dorling-cartogram, r, rstats, spatial
- Language: R
- Size: 312 KB
- Stars: 19
- Watchers: 3
- Forks: 3
- Open Issues: 0
-
Metadata Files:
- Readme: README.Rmd
- License: LICENSE
Awesome Lists containing this project
README
---
output: rmarkdown::github_document
---# spdorling
Create Dorling Cartograms from Contiguous Region Shapefiles
## Description
Create Dorling Cartograms from Contiguous Region Shapefiles
## What's Inside The Tin
- `dorling_from_sp`: Compute center coordinates, circle radii and Dorling polygons from input polygons and values
The following functions are implemented:
## Installation
```{r eval=FALSE}
devtools::install_github("hrbrmstr/spdorling")
``````{r message=FALSE, warning=FALSE, error=FALSE, include=FALSE}
options(width=120)
knitr::opts_chunk$set(fig.retina=2)
```## Usage
```{r message=FALSE, warning=FALSE, error=FALSE}
library(spdorling)# current verison
packageVersion("spdorling")```
### Lower 48 U.S.A.
```{r message = FALSE}
library(albersusa) # hrbrmstr/albersusa
library(hrbrthemes)
library(tidyverse)usa <- albersusa::usa_composite(proj = "laea")
usa <- subset(usa, !(name %in% c("Alaska", "Hawaii", "District of Columbia")))set.seed(2018)
usa$val <- sample(10000, 48)dor <- dorling_from_sp(usa, value=usa$val, quiet=FALSE)
discs_df <- fortify(dor$discs)
as_data_frame(dor$xy) %>%
set_names(c("lng", "lat")) %>%
mutate(iso2c = usa$iso_3166_2) -> usa_labsggplot() +
geom_polygon(
data = discs_df, aes(long, lat, group=group),
size=0.125, color="#2b2b2b", fill="#00000000"
) +
geom_text(data = usa_labs, aes(lng, lat, label=iso2c), size=2) +
coord_fixed() +
labs(x=NULL, y=NULL) +
theme_ipsum_rc(grid="") +
theme(axis.text=element_blank())
```### Swiss Cantons
```{r}
library(sp)
library(rgdal)readOGR(
system.file("extdat", "swiss-cantons.json", package="spdorling"),
verbose = FALSE,
stringsAsFactors = FALSE
) -> cantons# convert it to equal area
SpatialPolygonsDataFrame(
spTransform(cantons, CRS("+proj=aea +lat_1=45.96 +lat_2=47.50 +lon_0=8.34")),
data = cantons@data
) -> cantonsset.seed(2018)
cantons$val <- sample(10000, nrow(cantons@data))dor <- dorling_from_sp(cantons, value=cantons$val, quiet=FALSE)
discs_df <- fortify(dor$discs)
as_data_frame(dor$xy) %>%
set_names(c("lng", "lat")) %>%
mutate(name = cantons$name) -> cantons_labsggplot() +
geom_polygon(
data = discs_df, aes(long, lat, group=group),
size=0.125, color="#2b2b2b", fill="#00000000"
) +
geom_text(data = cantons_labs, aes(lng, lat, label=name), size=2) +
coord_fixed() +
labs(x=NULL, y=NULL) +
theme_ipsum_rc(grid="") +
theme(axis.text=element_blank())
```