我想制作特定疾病的世界热图。该数据集包含国家/地区列表、纬度、经度和每个国家/地区的案例。数据可用here https://drive.google.com/file/d/1_EqMEZFHlujsg40gzEo83dN1zY9d9gAJ/view?usp=sharing。我想用世界热图来表示它,即病例数较高的国家应该有较深的颜色,而病例数较少的国家应该颜色变浅。
我使用 ggplot 和 geom_map 来创建相同的。代码如下所示:
library(maps)
library(plyr)
library(gridExtra)
h2 <- read_excel("mapdata1.xlsx")
world_map <- map_data("world")
world_map <- subset(world_map, region!="Antarctica")
gg <- ggplot(h2)
gg <- gg + geom_map(dat=world_map, map = world_map, aes(map_id=region),
fill="white", color="#7f7f7f", size=0.25)
gg <- gg + geom_map(map = world_map, aes(map_id = Country, fill = Cases), size=0.25)
gg <- gg + scale_fill_gradient(low="#fff7bc", high="#cc4c02", name="Total Cases")
gg <- gg + expand_limits(x = world_map$long, y = world_map$lat)
gg <- gg + labs(x="", y="", title="World Hotspots")
gg <- gg + theme(panel.grid=element_blank(), panel.border=element_blank())
gg <- gg + theme(axis.ticks=element_blank(), axis.text=element_blank())
gg <- gg + theme(legend.position="top")
gg
当我运行代码时,它显示了热图,但某些国家(例如美国)的颜色是白色的,即使它的病例数量较多。我不明白为什么会这样?