Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/EmilHvitfeldt/ggpage
Creates Page Layout Visualizations in R 📄📄📄
https://github.com/EmilHvitfeldt/ggpage
data-visualization datavisualization dataviz ggplot2 r rstats
Last synced: 30 days ago
JSON representation
Creates Page Layout Visualizations in R 📄📄📄
- Host: GitHub
- URL: https://github.com/EmilHvitfeldt/ggpage
- Owner: EmilHvitfeldt
- License: other
- Created: 2017-08-27T17:55:37.000Z (over 7 years ago)
- Default Branch: master
- Last Pushed: 2019-06-13T23:50:00.000Z (over 5 years ago)
- Last Synced: 2024-11-13T19:05:28.142Z (about 1 month ago)
- Topics: data-visualization, datavisualization, dataviz, ggplot2, r, rstats
- Language: R
- Homepage: https://emilhvitfeldt.github.io/ggpage/
- Size: 16.5 MB
- Stars: 341
- Watchers: 15
- Forks: 12
- Open Issues: 4
-
Metadata Files:
- Readme: README.Rmd
- License: LICENSE
Awesome Lists containing this project
README
---
output: github_document
---
```{r, echo = FALSE}
knitr::opts_chunk$set(
collapse = TRUE,
comment = "#>",
fig.path = "man/figures/README-"
)
```# ggpage
[![Travis build status](https://travis-ci.org/EmilHvitfeldt/ggpage.svg?branch=master)](https://travis-ci.org/EmilHvitfeldt/ggpage)
[![AppVeyor build status](https://ci.appveyor.com/api/projects/status/github/EmilHvitfeldt/ggpage?branch=master&svg=true)](https://ci.appveyor.com/project/EmilHvitfeldt/ggpage)
[![Coverage status](https://codecov.io/gh/EmilHvitfeldt/ggpage/branch/master/graph/badge.svg)](https://codecov.io/github/EmilHvitfeldt/ggpage?branch=master)
[![CRAN status](https://www.r-pkg.org/badges/version/ggpage)](https://cran.r-project.org/package=ggpage)**ggpage** is a package to create pagestyled visualizations of text based data. It uses ggplot2 and final returns are ggplot2 objects.
## Version 0.2.0
In this new version I have worked to include a lot of use cases that wasn't available in the first version. These new elements are previewed in the vignette.
## Installation
You can install the released version of **ggpage** from [CRAN](https://cran.r-project.org/) with:
```{r eval = FALSE}
install.packages("ggpage")
```or you can install the developmental version of **ggpage** from github with:
```{r gh-installation, eval = FALSE}
# install.packages("devtools")
devtools::install_github("EmilHvitfeldt/ggpage")
```## Example
The package includes The Tinder-box by H.C. Andersen for examples.
```{r message=FALSE}
library(tidyverse)
library(ggpage)head(tinderbox, 10)
```The basic workflow with **ggpage** is using either
- `ggpage_quick` for a quick one function call plot or,
- combining `ggpage_build` and `ggpage_plot` to do analysis (NLP for example) before the final plot is produced.For a simple demonstration we apply `ggpage_quick` to our `tinderbox` object. It is important that the data.frame that is used have the text in a column named "text".
```{r}
ggpage_quick(tinderbox)# Also pipeable
# tinderbox %>% ggpage_quick()
```The same result would be achieved by using
```{r eval=FALSE}
tinderbox %>%
ggpage_build() %>%
ggpage_plot()
```But this approach allows us to introduce more code between `ggpage_build` and `ggpage_plot` giving us multiple more ways to enhance the plots
```{r}
tinderbox %>%
ggpage_build() %>%
mutate(long_word = stringr::str_length(word) > 8) %>%
ggpage_plot(aes(fill = long_word)) +
labs(title = "Longer words throughout The Tinder-box") +
scale_fill_manual(values = c("grey70", "blue"),
labels = c("8 or less", "9 or more"),
name = "Word length")
```