Я пытаюсь сделать временной интервал, поскольку у меня есть графики для разных месяцев, и я бы хотел, чтобы они были «анимированными». Например, см. Ниже карты для насильственных преступлений в Хьюстоне по образцу пакета .Согласованная раскраска для нескольких графов ggplot2 с использованием функции stat_density2d
Я хочу сделать анимацию, немного видео происходит из месяца в месяц, поэтому цвета на графиках должны быть последовательными. В январе максимум составляет 900, тогда как в феврале - 1100, несмотря на то, что они будут тушить тот же тон синего цвета, что и неправильно.
Я пытался следовать инструкциям, появляющимся here, используя scale_alpha_continuous()
и scale_color_discrete()
, но я не удается исправить. Любая идея о том, как согласовать цвета с максимальным значением для всех графиков? Любая помощь очень ценится!
код с данными:
library(ggplot2)
library(ggmap)
library(mapproj)
crime <- data.frame(crime)
violent_crimes <- subset(crime, offense != "auto theft" & offense != "theft" & offense != "burglary")
violent_crimes$offense <- factor(violent_crimes$offense, levels = c("robbery", "aggravated assault", "rape", "murder"))
violent_crimes <- subset(violent_crimes, + -95.39681 <= lon & lon <= -95.34188 & 29.73631 <= lat & lat <= 29.78400) # restrict to downtown
houston <- get_map("houston", zoom = 14)
HoustonMap <- ggmap(houston, extent = "device", legend = "topleft")
violent_crimes$month <- factor(violent_crimes$month)
months <- levels(violent_crimes$month)
for (i in levels(violent_crimes$month)){
monthchosen <- months[i]
violent_crimes_month <- subset(violent_crimes, month == as.character(monthchosen))
HoustonMap +
stat_density2d(
aes(x = lon, y = lat, fill = ..level..),
size = 2, bins = 4, data = violent_crimes_month,
geom = "polygon"
)
ggsave(file=paste0("Houston_",as.character(i),".png"), dpi=200)
}
Вопрос, который вы связываете, советует использовать аргумент 'breaks'. Разве это не сработало? – Axeman
@Axeman Перерывы не срабатывали. Недопустимый аргумент 'scale_fill_gradient'. – user3507584