Моя проблема в том, что у меня есть sf-объект, который я хочу отобразить с помощью ggplot и заполнить округа цветом факторной переменной. Я определил для каждого уровня фактора цвет, который должен быть зафиксирован, даже если подмножество фрейма данных.
Моя проблема: я вижу в легенде мой фактор с правильными цветами, я вижу свою карту, но округа не заполнены любым цветом.
Мой тестовый набор данных находится здесь: https://wolke.netzbegruenung.de/s/wPfNEPrSkcsLaHX
Первый шаг:
Я определяю переменную Indicator, которая находится между 0 и любое положительное значение. Значения выше 1 являются аламентами. Нормальными являются значения ниже 0,3. Чтобы получить прогноз, что произойдет в будущем, я нанесу на карту мои округа в цвет категоризованной переменной индекса. Для этого я определяю data.frame с цветами:
brk <- c(0,0.1,0.5,0.6,0.8,0.9,1,Inf)
col <- c("greenyellow","chartreuse4","gold",
"darkgoldenrod1","orange","orangered3","red")
lab <- c("up to 0.1","up to 0.3","up to 0.6",
"up to 0.8","up to 0.9","up to 1","1 and more")
dfcol <-cbind.data.frame(lab,col) %>%
mutate(lab = factor(lab, levels = lab)
Второй шаг:
Я строю с этим кодом:
ggplot()+
geom_sf(data = dfgeo,aes(fill = lab)) +
scale_fill_manual(values = col,
limits = brk[1:7],
labels = lab ) +
theme_void()
Результат:
Я вижу свой фактор Лаборатория переменных в легенде.
Я вижу свою карту с границами всех округов, в которых я заинтересован.
Но округа не заполнены каким-либо цветом Я присваиваю фактор-переменную lab
.
В чем моя ошибка?
Спасибо за любую помощь!