title: setting a fixed scale for distinct graphic series on ggplot2/ggmap
body: <p>I've made a series of maps for monthly incidence. The idea is to make a gif.
  The problem is that each plot was created independently with its own scale.
  I'm using viridis in this case. Is there some way that keeps the same scale and ranges for all plots, even when a particular month (one plot) has no data on those scales?</p>
  
  <p>This is what I've made:</p>
  
  <pre><code>library(ggmap)
  library(sp)
  
  murder &lt;- subset(crime, offense == "murder")
  
  murder &lt;- SpatialPointsDataFrame(murder[,c("lon", "lat")], data=murder,
                                   proj4string = CRS("+proj=longlat +datum=WGS84 +no_defs +ellps=WGS84 +towgs84=0,0,0"))
  
  p &lt;- ggmap(get_stamenmap(bbox=c(left=min(murder$lon), bottom=min(murder$lat),
                                  right=max(murder$lon), top=max(murder$lat)), zoom=12))
  
  d &lt;- unique(murder$month)
  
  murder &lt;- murder[!(murder$month=="january" &amp; murder$hour&gt;0 &amp; murder$hour&lt;17),]
  murder &lt;- murder[!(murder$month=="february" &amp; murder$hour&gt;110 &amp; murder$hour&lt;24),]
  murder &lt;- murder[!(murder$month=="march" &amp; murder$hour&gt;12 &amp; murder$hour&lt;17),]
  
  
  for (i in d){
    murder2 &lt;- murder[murder$month==i,]
    mapa &lt;- p +
      geom_point(data=murder2@data, 
                 aes(x=murder2@coords[,1], y=murder2@coords[,2], color=as.numeric(hour)), 
                 alpha=0.5,size=7) +
      scale_color_viridis_c(option="C",breaks=c(0,2,4,8,12,16,20,23),
                            labels=c("00:00","02:00", "04:00","08:00","12:00","16:00","20:00","23:00"),
                            name="Hour",
                            guide=guide_legend( keyheight = unit(3, units = "mm"), 
                                                keywidth=unit(6, units = "mm"),
                                                label.position = "bottom", title.position = 'top', nrow=1,
                                                label.theme=element_text(size = 6,face = "bold",color = "grey2",family = "Gotham"),
                                                title.theme=element_text(size = 6,face = "bold",color = "grey2",family = "Gotham", hjust=0.5)
                            ))
    ggsave(filename=paste0(i,".png"),plot=mapa, bg="transparent", 
           width =15, height = 15, units="cm", dpi=200)
  }
  </code></pre>
  
  <p>These are my results. The first plot (from March) has 8 values in its scale, while the second plot (form February) only has 2:</p>
  
  <p><a href="https://i.stack.imgur.com/Czebv.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/Czebv.png" alt="Mar"></a></p>
  
  <p><a href="https://i.stack.imgur.com/kjIyS.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/kjIyS.png" alt="Feb"></a></p>
  
  <p>I want the same 8 values for each map. even when there is no observations within those values.</p>