我尝试在ggplot
中制作南美洲的 map 以及病例数。
我想添加国家/地区的名称。
但是,很难添加图例中的病例数和国家名称。
library(ggplot2)
library(dplyr)
sa.countries <- c('Argentina', 'Bolivia', 'Brazil',
'Colombia', 'Chile','Ecuador','French Guiana','Guyana',
'Paraguay', 'Peru', 'Suriname',
'Trinidad and Tobago', 'Uruguay', 'Venezuela')
countries.maps <- map_data("world", region = sa.countries)
country.cases <- tribble(~region, ~papers,
'Argentina', 33, 'Bolivia', 8, 'Brazil', 242,
'Colombia', 41, 'Chile', 9, 'Ecuador', 44,
'French Guiana', 3, 'Guyana', 0, 'Paraguay', 1,
'Peru', 8, 'Suriname', 0, 'Trinidad and Tobago', 2,
'Uruguay', 0, 'Venezuela', 7)
df.country <- left_join(countries.maps, country.cases, by="region")
ggplot(df.country, aes(long, lat, group = group))+
geom_polygon(aes(fill = papers ), color = "white") +
scale_fill_viridis_c(name='# cases', option = "C") +
coord_equal() +
theme_bw()
这是 map 的示例
提前致谢。
最佳答案
你可以试试
dff <- df.country %>%
group_by(region) %>%
summarize(long = mean(long, na.rm = T), lat = mean(lat, na.rm = T), group = group)
ggplot(df.country, aes(long, lat, group = group))+
geom_polygon(aes(fill = papers ), color = "white") +
scale_fill_viridis_c(name='# cases', option = "C") +
coord_equal() +
theme_bw() +
geom_text(data = dff, aes(long, lat, label = region, group = group), size = 2)
关于r - 在 ggplot 中添加国家/地区名称到 map ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/72905784/