Как удалить дискретное значение ошибки на графике

#r #ggplot2

Вопрос:

Мой код:

 df1 <- data.frame(
  time = as.POSIXct(c("2021-05-04 01:00:00", "2021-05-04 02:00:00",
                           "2021-05-04 03:00:00", "2021-05-04 04:00:00", "2021-05-04 05:00:00",
                           "2021-05-04 06:00:00", "2021-05-04 07:00:00", "2021-05-04 08:00:00")),
  lng = c(15.363, 15.363, 15.363, 15.363 , 15.363, 15.363, 15.363, 15.363),
lat = c(51.232, 51.232, 51.232, 51.232, 51.232, 51.232, 51.232, 51.232),
name = c('aaa', 'bbb', 'ccc', 'ddd', 'eee', 'fff', 'ggg', 'hhh'),
intensity = c(0, 7, 20, 200, 500, 500, 600, 800))

przedzialy <- seq(0, 1200, length.out=9)

df1_new <- df1 %>%
  mutate(zakresy = cut(intensity, breaks = przedzialy))

paleta_rgb <- c("#41786E", "#5AA03C", "#BED200", "#FFFA78", "#FCDC00",
                "#F5BE00", "#F0A04B", "#E68246", "#E15F32", "#D2412D")

# intensity
ggplot()  
  geom_point(data = df1_new, aes(lng, lat, color = zakresy), alpha = 0.5, show.legend = TRUE, size = 2)  
  scale_color_gradientn(colors = paleta_rgb)  
  coord_map()  
  theme_void()
 

Я получаю эту ошибку:
Дискретное значение, передаваемое в непрерывную шкалу

Кроме того, я не знаю, как установить диапазон интенсивности равным 0, в настоящее время у меня есть NA, и я хотел бы получить диапазоны для шкалы: равные 0 (0; 100> (100; 200>> … (1100; 1200>>>

Заранее спасибо за вашу помощь.

Комментарии:

1. scale_color_gradientn это непрерывная цветовая шкала, в то время как ваша переменная дискретна. Может быть, ты хочешь scale_color_manual(values = paleta_rgb) ?

2. Стало лучше. 🙂 А как быть со шкалой для значения 0? Теперь у меня есть НА

3. Попробуйте с cut(intensity, breaks = przedzialy, include.lowest = TRUE) помощью включить 0 в первый интервал.

4. Для более крупного фрейма данных я получаю сообщение: Удалены 1122 строки, содержащие пропущенные значения (geom_point).