Мне бы хотелось иметь возможность использовать градиент для заливки цветов на карте, но мне нужны конкретные значения (например, ноль) для определенного цвета (скажем, красного или серого).
Есть ли способ сначала применить градиент, а затем установить эти конкретные значения цвета?Я хотел бы иметь возможность сделать это для нескольких конкретных значений, если это возможно.
В приведенном ниже примере, как мы можем сделать 0 значений красным?
suppressPackageStartupMessages(require(tidyverse))
suppressPackageStartupMessages(require(ggmap))
suppressPackageStartupMessages(require(viridis))
suppressPackageStartupMessages(require(albersusa)) #devtools::install_github("hrbrmstr/albersusa")
us <- usa_composite()
us_map <- fortify(us, region="name") %>%
rename(state = id)
dat <- tibble(state = state.name, value = sample(-2:5, 50, replace = T))
dat %>%
right_join(us_map) %>%
ggplot() +
geom_polygon(aes(x = long, y = lat, fill = value, group = group), color = "white", size = .2) +
coord_fixed(1.3) +
scale_fill_viridis()
#> Joining, by = "state"
Создано в 2019-02-20 пакетом представ (v0.2.1)