#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).