in modelVisualizeR/R/ggplotWrappers.R [193:233]
ggplotLatentMap <- function(model, shp, title='', shape_level = 'residence_census_tract'){
plotDat <- right_join(model$latentField %>% group_by_(.dots =shape_level) %>% summarise(modeled_intensity_median = median(modeled_intensity_median)),shp, by=shape_level)
bbox<-sf::st_bbox(shp$geometry)
mapSettings <- ggplot() + #xlim(c(min(122.5, -bbox[1]),max(121.7,-bbox[3]))) + ylim(c(max(47.17,bbox[2]),min(47.76,bbox[4]))) +
theme_bw() +
theme(axis.text=element_blank(),axis.ticks=element_blank(),panel.grid.major=element_line(colour="transparent"), panel.border = element_blank())
p<-mapSettings + geom_sf(data=shp,size=0.1,aes(fill=NaN))
colorLimits<-c(min(plotDat$modeled_intensity_median,na.rm=TRUE),max(plotDat$modeled_intensity_median,na.rm=TRUE))
colorBreaks<-unique(c(min(colorLimits),round(1e3*seq(sqrt(min(colorLimits)),sqrt(max(colorLimits)), length.out = 4)^2)/1e3, max(colorLimits)))
p1 <- p + geom_sf(data=plotDat,size=0, aes(fill=modeled_intensity_median)) +
guides(fill=guide_legend(title="modeled_intensity")) +
viridis::scale_fill_viridis(na.value="transparent",trans = "sqrt",breaks=colorBreaks,limits=colorLimits)
plotDat <- right_join(model$latentField %>% group_by_(.dots =shape_level) %>% summarise(modeled_intensity_peak = encountered_week[modeled_intensity_median == max(modeled_intensity_median)]),shp, by=shape_level)
colorLabels<-sort(unique(plotDat$modeled_intensity_peak))
plotDat$modeled_intensity_peak<-factor(plotDat$modeled_intensity_peak, levels=colorLabels)
plotDat$integer_peak <- as.integer(plotDat$modeled_intensity_peak)
colorLimits<-c(min(plotDat$integer_peak,na.rm=TRUE),max(plotDat$integer_peak,na.rm=TRUE))
colorBreaks<-min(colorLimits):max(colorLimits)
p2 <- p + geom_sf(data=plotDat,size=0, aes(fill=integer_peak)) +
guides(fill=guide_legend(title="peak intensity")) +
viridis::scale_fill_viridis(na.value="transparent",breaks=colorBreaks,limits=colorLimits,
labels=colorLabels)
grid.arrange(p1,p2,nrow=1, top=textGrob(title))
}