Browse Source

1.2.1 release

master
Bob Rudis 8 years ago
parent
commit
2f365f306a
No known key found for this signature in database GPG Key ID: 1D7529BE14E2BBA9
  1. 6
      DESCRIPTION
  2. 2
      NAMESPACE
  3. 84
      R/statebins.R
  4. 16
      README.Rmd
  5. 63
      README.md
  6. BIN
      README_files/figure-markdown_github/unnamed-chunk-3-1.png
  7. BIN
      README_files/figure-markdown_github/unnamed-chunk-3-2.png
  8. BIN
      README_files/figure-markdown_github/unnamed-chunk-3-3.png
  9. BIN
      README_files/figure-markdown_github/unnamed-chunk-3-4.png
  10. BIN
      README_files/figure-markdown_github/unnamed-chunk-3-5.png
  11. BIN
      README_files/figure-markdown_github/unnamed-chunk-3-6.png
  12. 3
      man/statebins-package.Rd
  13. 5
      man/statebins.Rd
  14. 5
      man/statebins_continuous.Rd
  15. 5
      man/statebins_manual.Rd
  16. 52
      tmp/election2012.csv
  17. BIN
      tmp/household.gif
  18. BIN
      tmp/household.mov
  19. BIN
      tmp/household2000.png
  20. BIN
      tmp/household2001.png
  21. BIN
      tmp/household2002.png
  22. BIN
      tmp/household2003.png
  23. BIN
      tmp/household2004.png
  24. BIN
      tmp/household2005.png
  25. BIN
      tmp/household2006.png
  26. BIN
      tmp/household2007.png
  27. BIN
      tmp/household2008.png
  28. BIN
      tmp/household2009.png
  29. BIN
      tmp/household2010.png
  30. BIN
      tmp/household2011.png
  31. BIN
      tmp/household2012.png
  32. BIN
      tmp/statebins-composite.png

6
DESCRIPTION

@ -2,8 +2,8 @@ Package: statebins
Type: Package
Title: statebins - U.S. State Cartogram Heatmaps in R; an alternative to
choropleth maps for USA States
Version: 1.1
Date: 2014-08-29
Version: 1.2.1
Date: 2015-01-30
Author: Bob Rudis (@hrbrmstr)
Maintainer: Bob Rudis <bob@rudis.net>
Description: statebins is an alternative to choropleth maps for USA States and
@ -22,6 +22,6 @@ Depends:
R (>= 3.0.0),
ggplot2,
grid,
scales,
gridExtra,
scales,
RColorBrewer

2
NAMESPACE

@ -1,4 +1,4 @@
# Generated by roxygen2 (4.0.1): do not edit by hand
# Generated by roxygen2 (4.1.0): do not edit by hand
export(statebins)
export(statebins_continuous)

84
R/statebins.R

@ -2,7 +2,8 @@ state_coords <- structure(list(abbrev = c("AL", "AK", "AZ", "AR", "CA", "CO",
"CT", "DC", "DE", "FL", "GA", "HI", "ID", "IL", "IN", "IA", "KS",
"KY", "LA", "ME", "MD", "MA", "MI", "MN", "MS", "MO", "MT", "NE",
"NV", "NH", "NJ", "NM", "NY", "NC", "ND", "OH", "OK", "OR", "PA",
"RI", "SC", "SD", "TN", "TX", "UT", "VT", "VA", "WA", "WV", "WI", "WY"),
"RI", "SC", "SD", "TN", "TX", "UT", "VT", "VA", "WA", "WV", "WI", "WY",
"PR"),
state = c("Alabama", "Alaska", "Arizona", "Arkansas",
"California", "Colorado", "Connecticut", "District of Columbia",
"Delaware", "Florida", "Georgia", "Hawaii", "Idaho", "Illinois",
@ -12,16 +13,17 @@ state_coords <- structure(list(abbrev = c("AL", "AK", "AZ", "AR", "CA", "CO",
"New Jersey", "New Mexico", "New York", "North Carolina", "North Dakota",
"Ohio", "Oklahoma", "Oregon", "Pennsylvania", "Rhode Island",
"South Carolina", "South Dakota", "Tennessee", "Texas", "Utah",
"Vermont", "Virginia", "Washington", "West Virginia", "Wisconsin", "Wyoming"),
"Vermont", "Virginia", "Washington", "West Virginia", "Wisconsin", "Wyoming",
"Puerto Rico"),
col = c(8L, 1L, 3L, 6L, 2L, 4L, 11L, 10L, 11L, 10L,
9L, 1L, 3L, 7L, 7L, 6L, 5L, 7L, 6L, 12L, 10L, 11L, 8L, 6L, 7L,
6L, 4L, 5L, 3L, 12L, 10L, 4L, 10L, 8L, 5L, 8L, 5L, 2L, 9L, 12L,
9L, 5L, 7L, 5L, 3L, 11L, 9L, 2L, 8L, 7L, 4L),
9L, 5L, 7L, 5L, 3L, 11L, 9L, 2L, 8L, 7L, 4L, 12L),
row = c(7L, 7L,
6L, 6L, 5L, 5L, 4L, 6L, 5L, 8L, 7L, 8L, 3L, 3L, 4L, 4L, 6L, 5L,
7L, 1L, 5L, 3L, 3L, 3L, 7L, 5L, 3L, 5L, 4L, 2L, 4L, 6L, 3L, 6L,
3L, 4L, 7L, 4L, 4L, 4L, 6L, 4L, 6L, 8L, 5L, 2L, 5L, 3L, 5L, 2L, 4L)),
.Names = c("abbrev", "state", "col", "row"), class = "data.frame", row.names = c(NA, -51L))
3L, 4L, 7L, 4L, 4L, 4L, 6L, 4L, 6L, 8L, 5L, 2L, 5L, 3L, 5L, 2L, 4L, 8L)),
.Names = c("abbrev", "state", "col", "row"), class = "data.frame", row.names = c(NA, -52L))
invert <- function(hexColor, darkColor="black", lightColor="white") {
@ -47,7 +49,7 @@ invert <- function(hexColor, darkColor="black", lightColor="white") {
#' The function minimally expects the caller to pass in a data frame that:
#'
#' \itemize{
#' \item has one column of all state abbreviationis (all caps, including \code{DC} or a column of state names (standard capitalization) named \code{state}
#' \item has one column of all state abbreviationis (all caps, including \code{DC} & \code{PR} or a column of state names (standard capitalization) named \code{state}
#' \item has another column of values named \code{value}
#' }
#'
@ -89,9 +91,15 @@ statebins <- function(state_data, state_col="state", value_col="value",
legend_title="Legend", legend_position="top",
brewer_pal="PuBu", plot_title="", title_position="bottom") {
stopifnot(breaks > 0 && breaks < 10)
stopifnot(title_position %in% c("", "top", "bottom"))
stopifnot(legend_position %in% c("", "none", "left", "right", "top", "bottom"))
if (breaks <= 0 | breaks >= 10) {
stop("'breaks' must be between 0 & 10")
}
if (!title_position %in% c("", "top", "bottom")) {
stop("'title_position' must be either blank, 'top' or 'bottom'")
}
state_data <- data.frame(state_data, stringsAsFactors=FALSE)
if (max(nchar(state_data[,state_col])) == 2) {
merge.x <- "abbrev"
@ -99,10 +107,9 @@ statebins <- function(state_data, state_col="state", value_col="value",
merge.x <- "state"
}
stopifnot(state_data[,state_col] %in% state_coords[,merge.x])
stopifnot(!any(duplicated(state_data[,state_col])))
state_data <- validate_states(state_data, state_col, merge.x)
st.dat <- merge(state_coords, state_data, by.x=merge.x, by.y=state_col)
st.dat <- merge(state_coords, state_data, by.x=merge.x, by.y=state_col, all.y=TRUE)
st.dat$fill_color <- cut(st.dat[, value_col], breaks=breaks, labels=labels)
@ -147,7 +154,7 @@ statebins <- function(state_data, state_col="state", value_col="value",
#' The function minimally expects the caller to pass in a data frame that:
#'
#' \itemize{
#' \item has one column of all state abbreviationis (all caps, including \code{DC}) or a column of state names (standard capitalization) named \code{state}
#' \item has one column of all state abbreviationis (all caps, including \code{DC} & \code{PR} ) or a column of state names (standard capitalization) named \code{state}
#' \item has another column of values named \code{value}
#' }
#'
@ -187,8 +194,15 @@ statebins_continuous <- function(state_data, state_col="state", value_col="value
legend_title="Legend", legend_position="top",
brewer_pal="PuBu", plot_title="", title_position="bottom") {
stopifnot(title_position %in% c("", "top", "bottom"))
stopifnot(legend_position %in% c("", "none", "top", "bottom"))
if (!title_position %in% c("", "top", "bottom")) {
stop("'title_position' must be either blank, 'top' or 'bottom'")
}
if (!legend_position %in% c("", "none", "top", "bottom")) {
stop("'legend_position' must be either blank, 'none', 'top' or 'bottom'")
}
state_data <- data.frame(state_data, stringsAsFactors=FALSE)
if (max(nchar(state_data[,state_col])) == 2) {
merge.x <- "abbrev"
@ -196,10 +210,9 @@ statebins_continuous <- function(state_data, state_col="state", value_col="value
merge.x <- "state"
}
stopifnot(state_data[,state_col] %in% state_coords[,merge.x])
stopifnot(!any(duplicated(state_data[,state_col])))
state_data <- validate_states(state_data, state_col, merge.x)
st.dat <- merge(state_coords, state_data, by.x=merge.x, by.y=state_col)
st.dat <- merge(state_coords, state_data, by.x=merge.x, by.y=state_col, all.y=TRUE)
gg <- ggplot(st.dat, aes_string(x="col", y="row", label="abbrev"))
gg <- gg + geom_tile(aes_string(fill=value_col))
@ -242,7 +255,7 @@ statebins_continuous <- function(state_data, state_col="state", value_col="value
#' The function minimally expects the caller to pass in a data frame that:
#'
#' \itemize{
#' \item has one column of all state abbreviationis (all caps, including \code{DC} or a column of state names (standard capitalization) named \code{state}
#' \item has one column of all state abbreviationis (all caps, including \code{DC} & \code{PR} or a column of state names (standard capitalization) named \code{state}
#' \item has another column of colors named \code{color}
#' }
#'
@ -284,7 +297,11 @@ statebins_manual <- function(state_data, state_col="state", color_col="color",
legend_title="Legend", legend_position="top",
plot_title="", title_position="bottom") {
stopifnot(title_position %in% c("", "top", "bottom"))
if (!title_position %in% c("", "top", "bottom")) {
stop("'title_position' must be either blank, 'top' or 'bottom'")
}
state_data <- data.frame(state_data, stringsAsFactors=FALSE)
if (max(nchar(state_data[,state_col])) == 2) {
merge.x <- "abbrev"
@ -292,10 +309,9 @@ statebins_manual <- function(state_data, state_col="state", color_col="color",
merge.x <- "state"
}
stopifnot(state_data[,state_col] %in% state_coords[,merge.x])
stopifnot(!any(duplicated(state_data[,state_col])))
state_data <- validate_states(state_data, state_col, merge.x)
st.dat <- merge(state_coords, state_data, by.x=merge.x, by.y=state_col)
st.dat <- merge(state_coords, state_data, by.x=merge.x, by.y=state_col, all.y=TRUE)
gg <- ggplot(st.dat, aes_string(x="col", y="row", label="abbrev"))
gg <- gg + geom_tile(aes_string(fill="color"))
@ -332,4 +348,26 @@ statebins_manual <- function(state_data, state_col="state", color_col="color",
}
# sanity checks for state values
validate_states <- function(state_data, state_col, merge.x) {
good_states <- state_data[,state_col] %in% state_coords[,merge.x]
if (any(!good_states)) {
invalid <- state_data[,state_col][which(!good_states)]
state_data <- state_data[which(good_states),]
warning("Found invalid state values: ", invalid)
}
dups <- duplicated(state_data[,state_col])
if (any(dups)) {
state_data <- state_data[which(!dups),]
warning("Removing duplicate state rows")
}
return(state_data)
}

16
README.Rmd

@ -1,7 +1,7 @@
---
title: "README"
author: "Bob Rudis"
date: August 29, 2014
date: January 30, 2015
output:
md_document:
variant: markdown_github
@ -23,6 +23,7 @@ The following functions are implemented:
### News
- Version `1.2.1` released - Added support for `PR`/`Puerto Rico`[[1](https://github.com/hrbrmstr/statebins/issues/2)] and fixed a bug[[2](https://github.com/hrbrmstr/statebins/issues/3)] when using anything but a `data.frame` as input
- Version `1.1.0` released - `statebins_manual()` for manual placement of colors and moving of AK in support of a [pull request](https://github.com/hrbrmstr/statebins/pull/1) by [hansthompson](https://github.com/hansthompson)
- Version `1.0.0` released
@ -76,6 +77,19 @@ gg3 <- statebins_continuous(dat, "state", "avgshare08_12",
gg3
# mortality (only to show PR and using a data.table)
# from: http://www.cdc.gov/nchs/fastats/state-and-territorial-data.htm
dat <- data.table::fread("http://dds.ec/data/deaths.csv")
statebins_continuous(dat, "state", "death_rate", legend_title="Per 100K pop",
plot_title="Mortality Rate (2010)")
# fertility (only to show tbl_dt)
dat <- dplyr::tbl_dt(dat)
statebins_continuous(dat, "state", "fertility_rate", legend_title="Per 100K pop",
plot_title="Fertility Rate (2010)", brewer_pal="PuBuGn")
# manual - perhaps good for elections?
library(httr)

63
README.md

@ -1,5 +1,4 @@
<!-- output: html_document -->
statebins - U.S. State Cartogram Heatmaps in R; an alternative to choropleth maps for USA States
The following functions are implemented:
@ -15,12 +14,13 @@ The following functions are implemented:
### News
- Version `1.2.1` released - Added support for `PR`/`Puerto Rico`[[1](https://github.com/hrbrmstr/statebins/issues/2)] and fixed a bug[[2](https://github.com/hrbrmstr/statebins/issues/3)] when using anything but a `data.frame` as input
- Version `1.1.0` released - `statebins_manual()` for manual placement of colors and moving of AK in support of a [pull request](https://github.com/hrbrmstr/statebins/pull/1) by [hansthompson](https://github.com/hansthompson)
- Version `1.0.0` released
### Installation
``` {.r}
``` r
devtools::install_github("hrbrmstr/statebins")
```
@ -28,16 +28,16 @@ devtools::install_github("hrbrmstr/statebins")
All of the following examples use the [WaPo data](http://www.washingtonpost.com/wp-srv/special/business/states-most-threatened-by-trade/states.csv?cache=1). It looks like the columns they use are scaled data and I didn't take the time to figure out what they did, so the final figure just mimics their output (including the non-annotated legend).
``` {.r}
``` r
library(statebins)
# current verison
packageVersion("statebins")
```
## [1] '1.0'
## [1] '1.2'
``` {.r}
``` r
# the original wapo data
dat <- read.csv("http://www.washingtonpost.com/wp-srv/special/business/states-most-threatened-by-trade/states.csv?cache=1", stringsAsFactors=FALSE)
@ -51,9 +51,9 @@ gg <- statebins(dat, "state", "avgshare94_00", breaks=4,
gg
```
![plot of chunk unnamed-chunk-3](./README_files/figure-markdown_github/unnamed-chunk-31.png)
![](README_files/figure-markdown_github/unnamed-chunk-3-1.png)
``` {.r}
``` r
# continuous scale, legend on top
gg2 <- statebins_continuous(dat, "state", "avgshare01_07",
@ -64,9 +64,9 @@ gg2 <- statebins_continuous(dat, "state", "avgshare01_07",
gg2
```
![plot of chunk unnamed-chunk-3](./README_files/figure-markdown_github/unnamed-chunk-32.png)
![](README_files/figure-markdown_github/unnamed-chunk-3-2.png)
``` {.r}
``` r
# continuous scale, no legend
gg3 <- statebins_continuous(dat, "state", "avgshare08_12",
@ -77,9 +77,30 @@ gg3 <- statebins_continuous(dat, "state", "avgshare08_12",
gg3
```
![plot of chunk unnamed-chunk-3](./README_files/figure-markdown_github/unnamed-chunk-33.png)
![](README_files/figure-markdown_github/unnamed-chunk-3-3.png)
``` r
# mortality (only to show PR and using a data.table)
# from: http://www.cdc.gov/nchs/fastats/state-and-territorial-data.htm
dat <- data.table::fread("http://dds.ec/data/deaths.csv")
statebins_continuous(dat, "state", "death_rate", legend_title="Per 100K pop",
plot_title="Mortality Rate (2010)")
```
``` {.r}
![](README_files/figure-markdown_github/unnamed-chunk-3-4.png)
``` r
# fertility (only to show tbl_dt)
dat <- dplyr::tbl_dt(dat)
statebins_continuous(dat, "state", "fertility_rate", legend_title="Per 100K pop",
plot_title="Fertility Rate (2010)", brewer_pal="PuBuGn")
```
![](README_files/figure-markdown_github/unnamed-chunk-3-5.png)
``` r
# manual - perhaps good for elections?
library(httr)
@ -90,9 +111,9 @@ results <- results %>% mutate(color=ifelse(is.na(Obama), "#2166ac", "#b2182b"))
results %>% statebins_manual(font_size=4, text_color = "white", labels=c("Romney", "Obama"), legend_position="right", legend_title="Winner")
```
![plot of chunk unnamed-chunk-3](./README_files/figure-markdown_github/unnamed-chunk-34.png)
![](README_files/figure-markdown_github/unnamed-chunk-3-6.png)
``` {.r}
``` r
# or, more like the one in the WaPo article; i might be picking the wrong columns here. it's just for an example
sb <- function(col, title) {
@ -100,7 +121,7 @@ sb <- function(col, title) {
}
```
``` {.r}
``` r
# cheating and using <table> to arrange them below and also making a WaPo-like legend,
# since mucking with grid graphics margins/padding was not an option time-wise at the moment
@ -141,14 +162,12 @@ sb("avgshare08_12", "2008-2012")
</td><td width="50%"> &nbsp; </td></tr></table>
-->
<center>
![img](./tmp/statebins-composite.png)
</center>
And, we'll throw in a gratuitous animation for good measure:
``` {.r}
``` r
# data set from StatsAmerica - http://www.statsamerica.org/profiles/sip_index.html
# median household income from the ACS survey
@ -179,20 +198,20 @@ system("convert -background white -alpha remove -layers OptimizePlus -delay 150
<center>
![img](./tmp/household.gif)
</embed></center>
</embed>
</center>
### Test Results
``` {.r}
``` r
library(statebins)
library(testthat)
date()
```
## [1] "Fri Aug 29 12:38:53 2014"
## [1] "Fri Jan 30 05:36:28 2015"
``` {.r}
``` r
test_dir("tests/")
```

BIN
README_files/figure-markdown_github/unnamed-chunk-3-1.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 34 KiB

BIN
README_files/figure-markdown_github/unnamed-chunk-3-2.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 36 KiB

BIN
README_files/figure-markdown_github/unnamed-chunk-3-3.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 30 KiB

BIN
README_files/figure-markdown_github/unnamed-chunk-3-4.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 36 KiB

BIN
README_files/figure-markdown_github/unnamed-chunk-3-5.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 35 KiB

BIN
README_files/figure-markdown_github/unnamed-chunk-3-6.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 36 KiB

3
man/statebins-package.Rd

@ -1,4 +1,5 @@
% Generated by roxygen2 (4.0.1): do not edit by hand
% Generated by roxygen2 (4.1.0): do not edit by hand
% Please edit documentation in R/statebins-package.R
\docType{package}
\name{statebins-package}
\alias{statebins-package}

5
man/statebins.Rd

@ -1,4 +1,5 @@
% Generated by roxygen2 (4.0.1): do not edit by hand
% Generated by roxygen2 (4.1.0): do not edit by hand
% Please edit documentation in R/statebins.R
\name{statebins}
\alias{statebins}
\title{Create a new ggplot-based "statebin" chart for USA states (discrete scale)}
@ -48,7 +49,7 @@ This version uses discrete \link{RColorBrewer} scales, binned by the "breaks" pa
The function minimally expects the caller to pass in a data frame that:
\itemize{
\item has one column of all state abbreviationis (all caps, including \code{DC} or a column of state names (standard capitalization) named \code{state}
\item has one column of all state abbreviationis (all caps, including \code{DC} & \code{PR} or a column of state names (standard capitalization) named \code{state}
\item has another column of values named \code{value}
}

5
man/statebins_continuous.Rd

@ -1,4 +1,5 @@
% Generated by roxygen2 (4.0.1): do not edit by hand
% Generated by roxygen2 (4.1.0): do not edit by hand
% Please edit documentation in R/statebins.R
\name{statebins_continuous}
\alias{statebins_continuous}
\title{Create a new ggplot-based "statebin" chart for USA states (continuous scale)}
@ -44,7 +45,7 @@ This version uses a continuous scale based on \link{RColorBrewer} scales
The function minimally expects the caller to pass in a data frame that:
\itemize{
\item has one column of all state abbreviationis (all caps, including \code{DC}) or a column of state names (standard capitalization) named \code{state}
\item has one column of all state abbreviationis (all caps, including \code{DC} & \code{PR} ) or a column of state names (standard capitalization) named \code{state}
\item has another column of values named \code{value}
}

5
man/statebins_manual.Rd

@ -1,4 +1,5 @@
% Generated by roxygen2 (4.0.1): do not edit by hand
% Generated by roxygen2 (4.1.0): do not edit by hand
% Please edit documentation in R/statebins.R
\name{statebins_manual}
\alias{statebins_manual}
\title{Create a new ggplot-based "statebin" chart for USA states (manually colored)}
@ -43,7 +44,7 @@ This version uses manual colors (i.e. pass in a column that defines the color pe
The function minimally expects the caller to pass in a data frame that:
\itemize{
\item has one column of all state abbreviationis (all caps, including \code{DC} or a column of state names (standard capitalization) named \code{state}
\item has one column of all state abbreviationis (all caps, including \code{DC} & \code{PR} or a column of state names (standard capitalization) named \code{state}
\item has another column of colors named \code{color}
}

52
tmp/election2012.csv

@ -1,52 +0,0 @@
state,Obama,Romney
AL,,9
AK,,3
AZ,,11
AR,,6
CA,55,
CO,9,
CT,7,
DE,3,
DC,3,
FL,29,
GA,,16
HI,4,
ID,,4
IL,20,
IN,,11
IA,6,
KS,,6
KY,,8
LA,,8
ME,4,
MD,10,
MA,11,
MI,16,
MN,10,
MS,,6
MO,,10
MT,,3
NE,,5
NV,6,
NH,4,
NJ,14,
NM,5,
NY,29,
NC,,15
ND,,3
OH,18,
OK,,7
OR,7,
PA,20,
RI,4,
SC,,9
SD,,3
TN,,11
TX,,38
UT,,6
VT,3,
VA,13,
WA,12,
WV,,5
WI,10,
WY,,3
1 state Obama Romney
2 AL 9
3 AK 3
4 AZ 11
5 AR 6
6 CA 55
7 CO 9
8 CT 7
9 DE 3
10 DC 3
11 FL 29
12 GA 16
13 HI 4
14 ID 4
15 IL 20
16 IN 11
17 IA 6
18 KS 6
19 KY 8
20 LA 8
21 ME 4
22 MD 10
23 MA 11
24 MI 16
25 MN 10
26 MS 6
27 MO 10
28 MT 3
29 NE 5
30 NV 6
31 NH 4
32 NJ 14
33 NM 5
34 NY 29
35 NC 15
36 ND 3
37 OH 18
38 OK 7
39 OR 7
40 PA 20
41 RI 4
42 SC 9
43 SD 3
44 TN 11
45 TX 38
46 UT 6
47 VT 3
48 VA 13
49 WA 12
50 WV 5
51 WI 10
52 WY 3

BIN
tmp/household.gif

Binary file not shown.

Before

Width:  |  Height:  |  Size: 274 KiB

After

Width:  |  Height:  |  Size: 276 KiB

BIN
tmp/household.mov

Binary file not shown.

BIN
tmp/household2000.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 33 KiB

After

Width:  |  Height:  |  Size: 33 KiB

BIN
tmp/household2001.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 33 KiB

After

Width:  |  Height:  |  Size: 33 KiB

BIN
tmp/household2002.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 33 KiB

After

Width:  |  Height:  |  Size: 33 KiB

BIN
tmp/household2003.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 33 KiB

After

Width:  |  Height:  |  Size: 33 KiB

BIN
tmp/household2004.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 33 KiB

After

Width:  |  Height:  |  Size: 33 KiB

BIN
tmp/household2005.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 33 KiB

After

Width:  |  Height:  |  Size: 33 KiB

BIN
tmp/household2006.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 33 KiB

After

Width:  |  Height:  |  Size: 33 KiB

BIN
tmp/household2007.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 33 KiB

After

Width:  |  Height:  |  Size: 33 KiB

BIN
tmp/household2008.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 33 KiB

After

Width:  |  Height:  |  Size: 33 KiB

BIN
tmp/household2009.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 33 KiB

After

Width:  |  Height:  |  Size: 33 KiB

BIN
tmp/household2010.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 33 KiB

After

Width:  |  Height:  |  Size: 33 KiB

BIN
tmp/household2011.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 33 KiB

After

Width:  |  Height:  |  Size: 33 KiB

BIN
tmp/household2012.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 33 KiB

After

Width:  |  Height:  |  Size: 33 KiB

BIN
tmp/statebins-composite.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 85 KiB

Loading…
Cancel
Save