# Install packages
if (!requireNamespace("ggplot2", quietly = TRUE)) {
install.packages("ggplot2")
}if (!requireNamespace("RColorBrewer", quietly = TRUE)) {
install.packages("RColorBrewer")
}
# Load packages
library(ggplot2)
library(RColorBrewer)
World Map 2
Note
Hiplot website
This page is the tutorial for source code version of the Hiplot World Map 2
plugin. You can also use the Hiplot website to achieve no code ploting. For more information please see the following link:
Setup
System Requirements: Cross-platform (Linux/MacOS/Windows)
Programming language: R
Dependent packages:
ggplot2
;RColorBrewer
Data Preparation
# Load data
<- read.delim("files/Hiplot/117-map-world2-data.txt", header = T)
data <- readRDS("files/Hiplot/world.rds")
dt_map
# Convert data structure
$Value <- data$death_rate[match(dt_map$ENG_NAME, data$region)]
dt_map
# View data
head(data)
region death_rate
1 Afghanistan 13.4
2 Albania 6.8
3 Algeria 4.3
4 American Samoa 5.9
5 Andorra 7.3
6 Angola 9.2
Visualization
# World Map 2
<- ggplot(dt_map) +
p geom_polygon(aes(x = long, y = lat, group = group, fill = Value),
alpha = 0.9, size = 0.5) +
geom_path(aes(x = long, y = lat, group = group), color = "black", size = 0.2) +
scale_fill_gradientn(
colours = colorRampPalette(rev(brewer.pal(11,"RdYlBu")))(500),
breaks = seq(round(min(dt_map$Value)), round(max(dt_map$Value)),
round((max(dt_map$Value)-min(dt_map$Value))/7)),
name = "Color Key",
guide = guide_legend(
direction = "vertical", keyheight = unit(1, units = "mm"),
keywidth = unit(8, units = "mm"),
title.position = "top", title.hjust = 0.5, label.hjust = 0.5,
nrow = 1, byrow = T, reverse = F, label.position = "bottom")) +
theme(text = element_text(color = "#3A3F4A"),
axis.text = element_blank(),
axis.ticks = element_blank(),
panel.grid.major = element_blank(),
panel.grid.minor = element_blank(),
legend.position = "top",
legend.text = element_text(size = 4 * 1.5, color = "black"),
legend.title = element_text(size = 5 * 1.5, color = "black"),
plot.title = element_text(
face = "bold", size = 5 * 1.5, hjust = 0.5,
margin = margin(t = 4, b = 5), color = "black"),
plot.background = element_rect(fill = "#FFFFFF", color = "#FFFFFF"),
panel.background = element_rect(fill = "#FFFFFF", color = NA),
legend.background = element_rect(fill = "#FFFFFF", color = NA),
plot.margin = unit(c(1.5, 1.5, 1.5, 1.5), "cm")) +
labs(x = NULL, y = NULL, title = "World Map")
p
