如何使用 ggplot 在美国各州地图中有条件地着色?
How do I conditionally color in a US States map using ggplot?
我的目标是将低于销售平均值的州显示为红色,将高于销售平均值的州显示为绿色。我的代码似乎只是在做某种颜色轮廓,我不知道蓝色填充是从哪里来的。实际数据有所有状态,但我只是为了这个目的做了5个例子。
library(ggplot2)
library(tidyverse)
library(mapdata)
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"))
p <- ggplot() + geom_polygon(data = MergedStates,
aes(x=long, y=lat, group=group, fill=Sales),
color = ifelse(MergedStates$Sales <=
mean(MergedStates$Sales),"red","green"), size = 0.2)
p
我想这就是你想要达到的目的吧?在 geom_sf
中,颜色是指边框的颜色,fill
是指填充多边形的颜色(对于多边形)。
library(ggplot2)
library(tidyverse)
library(mapdata)
#> Loading required package: maps
#>
#> Attaching package: 'maps'
#> The following object is masked from 'package:purrr':
#>
#> map
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"))
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)
p
由 reprex package (v2.0.1)
于 2021 年 10 月 1 日创建
我的目标是将低于销售平均值的州显示为红色,将高于销售平均值的州显示为绿色。我的代码似乎只是在做某种颜色轮廓,我不知道蓝色填充是从哪里来的。实际数据有所有状态,但我只是为了这个目的做了5个例子。
library(ggplot2)
library(tidyverse)
library(mapdata)
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"))
p <- ggplot() + geom_polygon(data = MergedStates,
aes(x=long, y=lat, group=group, fill=Sales),
color = ifelse(MergedStates$Sales <=
mean(MergedStates$Sales),"red","green"), size = 0.2)
p
我想这就是你想要达到的目的吧?在 geom_sf
中,颜色是指边框的颜色,fill
是指填充多边形的颜色(对于多边形)。
library(ggplot2)
library(tidyverse)
library(mapdata)
#> Loading required package: maps
#>
#> Attaching package: 'maps'
#> The following object is masked from 'package:purrr':
#>
#> map
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"))
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)
p
由 reprex package (v2.0.1)
于 2021 年 10 月 1 日创建