0

我想将背景地图(存储为ggplot对象)添加到另一个 ggplot 地图,因为某些州有NA我删除的 's,所以它们被排除在地图之外。我曾经patchwork尝试过结合,但它只是将它们并排放置。我back_map想去“下” p

library(ggplot2)
library(tidyverse)
library(mapdata)
library(patchwork)
library(dplyr)

MainStates <- map_data("state")
State_Name <- c("alabama","arkansas","arizona","california","colorado")
Sales <- c(100,200,250,275,310)
df2 <- data.frame(State_Name,Sales)
MergedStates <- inner_join(MainStates, df2, by = c("region" = "State_Name"))
back_map <- ggplot() + geom_polygon(data=MainStates, aes(x=long, y=lat, group=group),
                       color="black", fill="white")

p <- ggplot() + geom_polygon(data = MergedStates,
                             aes(x=long, y=lat, group=group),
                             fill = ifelse(MergedStates$Sales <= 
                                      mean(MergedStates$Sales),"red","green"), size = 0.2) 
                                      + back_map
p
4

1 回答 1

0

Don't need to make a separate back_map object. Background map goes first in the code like such:

    p <- ggplot() + geom_polygon(data = MainStates, aes(x=long, y=lat, 
    group=group),
           color = "black", fill = "white") +
      geom_polygon(data = MergedStates,
           aes(x=long, y=lat, group=group), 
           fill = ifelse(MergedStates$sngIYA <= 
    mean(MergedStates$sngIYA),"red","green"), 
           color = "black", size = 0.2)
于 2021-10-04T15:21:45.160 回答