Я импортировал некоторые данные карты и определил три интересующие меня «области».
library(ggvis)
library(ggplot2)
countyDF <- map_data('county')
statesList = c("new york", "pennsylvania", "massachusetts", "new jersey",
"connecticut", "maine", "new hampshire", "rhode island", "vermont")
mapDF <- subset(countyDF, region %in% statesList)
mapDF$area <- "New England"
mapDF$area[which(mapDF$region=="new york")] <- "New York"
mapDF$area[which(mapDF$region %in% c("pennsylvania", "new jersey"))] <- "Mid Atlantic"
Затем я нарисовал карту, раскрашенную по области:
mapDF %>% ggvis(x=~long, y=~lat) %>%
group_by(group) %>%
layer_paths(fill= ~area)
Это дает мне хорошую карту, но я хотел бы настроить цветовую палитру по умолчанию. В идеале с чем-то вроде опции ggplot2 +scale_fill_manual()
, которая позволяет вам устанавливать определенные цвета для определенных значений переменной. Есть ли возможность сделать это и в ggvis?
В качестве обходного пути я создал новую переменную «areaColor», а затем установил (:=) заливку в areaColor, но получил ошибку «длина (x) не равна 1». Поэтому я думаю, что могу установить только одно значение, а не вектор значений, которые я определил условно.