Skip to content

Commit

Permalink
fix readme
Browse files Browse the repository at this point in the history
  • Loading branch information
zmeers committed Apr 18, 2019
1 parent 4f203b3 commit 662865d
Show file tree
Hide file tree
Showing 3 changed files with 256 additions and 11 deletions.
22 changes: 11 additions & 11 deletions README.Rmd
Original file line number Diff line number Diff line change
Expand Up @@ -16,17 +16,17 @@ library(tidyr)
library(ggplot2)
# source("R/parliament_data.R")
# source("R/geom_parliament_seats.R")
# source("R/geom_highlight_government.R")
# source("R/geom_emphasize_parliamentarians.R")
# source("R/helper_funcs.R")
# source("R/draw_majoritythreshold.R")
# source("R/draw_partylabels.R")
# source("R/draw_majoritythreshold.R")
# source("R/draw_totalseats.R")
# source("R/theme_ggparliament.R")
# source("R/geom_parliament_bar.R")
source("R/parliament_data.R")
source("R/geom_parliament_seats.R")
source("R/geom_highlight_government.R")
source("R/geom_emphasize_parliamentarians.R")
source("R/helper_funcs.R")
source("R/draw_majoritythreshold.R")
source("R/draw_partylabels.R")
source("R/draw_majoritythreshold.R")
source("R/draw_totalseats.R")
source("R/theme_ggparliament.R")
source("R/geom_parliament_bar.R")
```

Expand Down
245 changes: 245 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,22 +9,267 @@ pagetitle: README



# Status
[![Build Status](https://travis-ci.org/RobWHickman/ggparliament.png)](https://travis-ci.org/RobWHickman/ggparliament)
![CRAN Status](https://www.r-pkg.org/badges/version/ggparliament)
![Downloads](https://cranlogs.r-pkg.org/badges/grand-total/ggparliament)
<img src = "man/figures/HexSticker.png" align = "right" width = "200"/>

# ggparliament: Parliament plots


This package attempts to implement "parliament plots" - visual representations of the composition of legislatures that display seats colour-coded by party. The input is a data frame containing one row per party, with columns representing party name/label and number of seats, respectively.

This `R` package is a `ggplot2` extension and is now on CRAN. Please install the stable version in `R` by running:


```r
install.packages("ggparliament")
```

To install the package from source:

```r
devtools::install_github("robwhickman/ggparliament")
```

Inspiration from this package comes from: [parliamentdiagram](https://github.com/slashme/parliamentdiagram), which
is used on Wikipedia, [parliament-svg](https://github.com/juliuste/parliament-svg), which is a javascript clone, and [a discussion on StackOverflow](http://stackoverflow.com/questions/42729174/creating-a-half-donut-or-parliamentary-seating-chart), which provided some of the code for part for the "arc" representations used in this package.


If you have any issues, please note the problem and inform us!


## Election data

`ggparliament` provides election data from the following countries.


```r
election_data %>%
distinct(year, country, house) %>%
arrange(country, year)
```

```
## year country house
## 1 2010 Australia Representatives
## 2 2010 Australia Senate
## 3 2013 Australia Representatives
## 4 2013 Australia Senate
## 5 2016 Australia Representatives
## 6 2016 Australia Senate
## 7 1990 Germany Bundestag
## 8 1994 Germany Bundestag
## 9 1998 Germany Bundestag
## 10 2002 Germany Bundestag
## 11 2005 Germany Bundestag
## 12 2009 Germany Bundestag
## 13 2013 Germany Bundestag
## 14 2017 Germany Bundestag
## 15 2007 Russia Duma
## 16 2011 Russia Duma
## 17 2016 Russia Duma
## 18 2010 UK Commons
## 19 2015 UK Commons
## 20 2017 UK Commons
## 21 2012 USA Senate
## 22 2012 USA Representatives
## 23 2014 USA Senate
## 24 2014 USA Representatives
## 25 2016 USA Senate
## 26 2016 USA Representatives
```

We also provide the following vignettes for further explanation:

1. Basic parliament plots
2. Labelling parties
3. Drawing the majority threshold line
4. Highlighting parties in power
5. Faceting legislatures
6. Emphasizing certain seats
7. Visualizaing overhang seats in MMP electoral systems
8. Arranging seat order in ggparliament plots.

Quick `ggparliament` examples can be viewed below.

## Semicircle parliament

### EU, France, United States, and so on...


### Plot of US House of Representatives



```r
#filter the election data for the most recent US House of Representatives
us_house <- election_data %>%
filter(country == "USA" &
year == 2016 &
house == "Representatives")

us_house <- parliament_data(election_data = us_house,
type = "semicircle",
parl_rows = 10,
party_seats = us_house$seats)

us_senate <- election_data %>%
filter(country == "USA" &
year == 2016 &
house == "Senate")

us_senate <- parliament_data(
election_data = us_senate,
type = "semicircle",
parl_rows = 4,
party_seats = us_senate$seats)
```


```r
representatives <- ggplot(us_house, aes(x, y, colour = party_short)) +
geom_parliament_seats() +
#highlight the party in control of the House with a black line
geom_highlight_government(government == 1) +
#draw majority threshold
draw_majoritythreshold(n = 218, label = TRUE, type = 'semicircle')+
#set theme_ggparliament
theme_ggparliament() +
#other aesthetics
labs(colour = NULL,
title = "United States House of Representatives",
subtitle = "Party that controls the House highlighted.") +
scale_colour_manual(values = us_house$colour,
limits = us_house$party_short)

representatives
```

![plot of chunk unnamed-chunk-6](figure/unnamed-chunk-6-1.png)

### Plot of US Senate


```r
senate <- ggplot(us_senate, aes(x, y, colour = party_long)) +
geom_parliament_seats() +
geom_highlight_government(government == 1) +
# add bar showing proportion of seats by party in legislature
geom_parliament_bar(colour = colour, party = party_long) +
theme_ggparliament(legend = FALSE) +
labs(colour = NULL,
title = "United States Senate",
subtitle = "The party that has control of the Senate is encircled in black.") +
scale_colour_manual(values = us_senate$colour,
limits = us_senate$party_long)
senate
```

![plot of chunk unnamed-chunk-7](figure/unnamed-chunk-7-1.png)


### Plot of German Bundestag


```r
germany <- election_data %>%
filter(year == 2017 &
country == "Germany")

germany <- parliament_data(election_data = germany,
parl_rows = 10,
type = 'semicircle',
party_seats = germany$seats)

bundestag <- ggplot(germany, aes(x, y, colour = party_short)) +
geom_parliament_seats(size = 3) +
labs(colour="Party") +
theme_ggparliament(legend = TRUE) +
scale_colour_manual(values = germany$colour,
limits = germany$party_short)

bundestag
```

![plot of chunk unnamed-chunk-8](figure/unnamed-chunk-8-1.png)

## Opposing Benches Parliament



### United Kingdom


```r
#data preparation
uk_17 <- election_data %>%
filter(country == "UK" &
year == "2017") %>%
parliament_data(election_data = .,
party_seats = .$seats,
parl_rows = 12,
type = "opposing_benches",
group = .$government)


commons <- ggplot(uk_17, aes(x, y, colour = party_short)) +
geom_parliament_seats(size = 3) +
theme_ggparliament() +
coord_flip() +
labs(colour = NULL,
title = "UK parliament in 2017") +
scale_colour_manual(values = uk_17$colour,
limits = uk_17$party_short)

commons
```

![plot of chunk unnamed-chunk-9](figure/unnamed-chunk-9-1.png)



## Horseshoe parliament

### Australia, New Zealand


```r
australia <- election_data %>%
filter(country == "Australia" &
house == "Representatives" &
year == 2016) %>%
parliament_data(election_data = .,
party_seats = .$seats,
parl_rows = 4,
type = "horseshoe")
```

### Plot of Australian parliament


```r
au_rep <-ggplot(australia, aes(x, y, colour = party_short)) +
geom_parliament_seats(size = 3.5) +
geom_highlight_government(government == 1, colour = "pink", size = 4) +
draw_majoritythreshold(n = 76,
label = TRUE,
linesize = 0.5,
type = 'horseshoe') +
theme_ggparliament() +
theme(legend.position = 'bottom') +
labs(colour = NULL,
title = "Australian Parliament",
subtitle = "Government circled in pink.") +
scale_colour_manual(values = australia$colour,
limits = australia$party_short)

au_rep
```

![plot of chunk unnamed-chunk-11](figure/unnamed-chunk-11-1.png)




Expand Down
Binary file modified figure/unnamed-chunk-8-1.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.

0 comments on commit 662865d

Please sign in to comment.