ggmapcn
is a ggplot2
extension package for
visualizing China’s map with customizable projections and styling. This
package includes province-level map data and supports adding mainland
borders, coastlines, and buffer areas, making it easy to create
geographic visualizations of China.
Install the development version of ggmapcn from GitHub with:
# install.packages("devtools")
::install_github("Rimagination/ggmapcn", force = TRUE) devtools
To plot a map of China with province boundaries, use
geom_mapcn()
:
library(ggplot2)
library(ggmapcn)
ggplot() +
geom_mapcn() +
theme_minimal()
If you want to try the Albers projection, you can customize it.
ggplot() +
geom_mapcn(crs = "+proj=aea +lat_1=25 +lat_2=47 +lat_0=0 +lon_0=105 +x_0=0 +y_0=0 +datum=WGS84 +units=m +no_defs", color = "black", fill = "white", size = 0.7) +
theme_minimal()
Use geom_boundary_cn()
to add mainland borders and
coastlines to the map. You can set colors and line widths for both the
mainland and coastline boundaries:
ggplot() +
geom_mapcn(fill = NA) +
geom_boundary_cn(
mainland_color = "black",
mainland_size = 0.5,
coastline_color = "skyblue",
coastline_size = 0.5
+
) theme_minimal()
The geom_buffer_cn()
function adds buffer zones around
China’s borders. You can specify buffer distances, colors, and
projections. The example below shows buffer zones with varying
distances:
ggplot() +
geom_buffer_cn(mainland_dist = 40000) +
geom_buffer_cn(mainland_dist = 20000, fill = "#BBB3D8") +
geom_mapcn(fill = "white") +
geom_boundary_cn() +
theme_minimal()
The data used in this package is sourced from Tianditu (https://cloudcenter.tianditu.gov.cn/administrativeDivision/), a reliable provider of province-, city-, and county-level boundary information in China. This administrative division data has been processed into GeoJSON format for seamless integration into the package, enabling easy access and visualization.