使用plot_usmap的美国地图图例中的离散值

问题描述 投票:0回答:1

我正在使用usmap :: plot_usmap()绘制一组“处理”县,这样对于已标识的县,处理= 1,否则为0。我希望图例反映出变量是离散的(0/1)而不是显示连续的颜色比例这一事实吗?我的数据集有2个变量:“陷阱”和“治疗”。

我的代码是:

library(usmap)
library(ggplot2)

  plot_usmap(regions = "county", data=data, values = "treatment",color="grey")+ 
  theme(panel.background = element_rect(colour = "black"))+
  scale_fill_gradient(low = "white", high = "blue",name = "treatment",
                      breaks=c(0,1), limits = c(0, 1)) + 
  theme(legend.position = "right") 

输出图是:enter image description here

r legend usmap
1个回答
1
投票

您必须将处理转换为factorcharacter。然后可以通过scale_fill_manual设置颜色。使用一些随机示例data尝试一下:

library(usmap)
library(ggplot2)
library(dplyr)

# example data
set.seed(42)
data <- utils::read.csv(system.file("extdata", "county_fips.csv", 
                                  package = "usmap")) %>% 
  select(fips) %>% 
  mutate(treatment = sample(c(0, 1), nrow(.), replace = TRUE))

# Convert treatment to factor
data <- mutate(data, treatment = factor(treatment))

plot_usmap(regions = "county", data=data, values = "treatment",color="grey")+ 
  theme(panel.background = element_rect(colour = "black")) +
  scale_fill_manual(values = c(`0` = "white", `1` = "blue"), name = "treatment") + 
  theme(legend.position = "right")

“”

reprex package(v0.3.0)在2020-04-20创建

© www.soinside.com 2019 - 2024. All rights reserved.