Я пытаюсь сделать таймлапс, так как у меня есть графики за разные месяцы, и я бы хотел, чтобы они были «анимированы». Например, см. ниже карты насильственных преступлений в Хьюстоне из образца пакета ggmap
.
Я хочу сделать анимацию, небольшое видео из месяца в месяц, поэтому цвета графиков должны быть одинаковыми. Для января максимум 900, а для февраля 1100, несмотря на то, что они обувают тот же оттенок синего, что неправильно.
Я попытался выполнить шаги, показанные здесь, используя 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
. Это не сработало? - person Axeman   schedule 08.07.2015scale_fill_gradient
был отсутствующим аргументом. - person user3507584   schedule 09.07.2015