Open In App

Making Static & Interactive Maps With ggvis

In R Programming Language data visualization, making static and interactive maps is a common activity. Although the R package ggvis allows for interactive data visualizations, map visualizations are not one of its natural capabilities. For static maps and interactive maps, respectively, we commonly utilize tools like ggplot2 and leaflet.

In this article, we will check how to use ggplot2 and leaflet in R to generate both static and interactive maps.



Static Maps with ggplot2

ggplot2 is a versatile data visualization package in R. It is primarily known for creating static plots and charts, including maps. To create static maps using ggplot2, we need to load spatial data and use the geom_sf layer to plot it.




# Load required packages
library(ggplot2)
library(sf)
library(maps)
 
# Load and plot world map data
world <- sf::st_as_sf(map("world", plot = FALSE, fill = TRUE))
 
ggplot() +
  geom_sf(data = world) +
  labs(title = "World Map")

Output:



Making Static & Interactive Maps With ggvis

Fill color to the map




# Load required packages
library(ggplot2)
library(maps)
 
# Load and plot world map data
world <- map_data("world")
 
ggplot(data = world, aes(x = long, y = lat, group = group)) +
  geom_polygon(fill = "lightblue", color = "black") +
  coord_fixed(ratio = 1) +
  labs(title = "World Map")

Output:

Making Static & Interactive Maps With ggvis

Interactive Maps with leaflet

leaflet is an interactive mapping package in R. It is excellent for creating web-based maps with interactive features.
Let’s explore a couple of interactive map examples.




# Load required package
library(leaflet)
 
# Create an interactive map
leaflet() %>%
  addTiles() %>%
  addMarkers(
    lng = -118.2437, lat = 34.0522,
    popup = "Los Angeles, CA"
  ) %>%
  setView(lng = -118.2437, lat = 34.0522, zoom = 10)

Output:

Making Static & Interactive Maps With ggvis

Interactive Choropleth Map




# Load required package
library(leaflet)
 
# Sample data
cities <- data.frame(
  City = c("New York", "Los Angeles", "Chicago", "Houston", "Phoenix"),
  Population = c(8398748, 3990456, 2705994, 2320268, 1680992)
)
 
# Create an interactive choropleth map
leaflet(data = cities) %>%
  addTiles() %>%
  addCircleMarkers(
    lng = -118.2437, lat = 34.0522,
    radius = ~sqrt(Population) / 1000,
    color = "red",
    popup = ~City
  ) %>%
  setView(lng = -98.5795, lat = 39.8283, zoom = 4)

Output:

Making Static & Interactive Maps With ggvis

Conclusion

Mapping data in R is a powerful way to explore geographic patterns and communicate information effectively. This article introduced us to ggplot2 for creating static maps and leaflet for interactive maps. By mastering these packages, we can create a wide range of informative and visually appealing maps to enhance our data analysis and visualization projects.


Article Tags :