https://github.com/jumpingrivers/prettyb
Prettified base graphics
https://github.com/jumpingrivers/prettyb
graphics r r-package rstats visualization
Last synced: 10 months ago
JSON representation
Prettified base graphics
- Host: GitHub
- URL: https://github.com/jumpingrivers/prettyb
- Owner: jumpingrivers
- Created: 2016-10-12T19:31:46.000Z (over 9 years ago)
- Default Branch: main
- Last Pushed: 2022-05-03T19:23:29.000Z (about 4 years ago)
- Last Synced: 2025-08-25T11:19:44.938Z (10 months ago)
- Topics: graphics, r, r-package, rstats, visualization
- Language: R
- Homepage:
- Size: 1.59 MB
- Stars: 64
- Watchers: 8
- Forks: 4
- Open Issues: 1
-
Metadata Files:
- Readme: README.Rmd
Awesome Lists containing this project
README
---
output: github_document
editor_options:
chunk_output_type: console
---
```{r, echo = FALSE}
knitr::opts_chunk$set(
collapse = TRUE,
comment = "#>",
fig.path = "man/figures/README-",
cache = FALSE,
fig.align = 'center'
)
set.seed(1)
```
## Prettified Base Graphics
[](https://github.com/jumpingrivers/prettyB/actions)
[](https://cran.r-project.org/package=prettyB)
[](https://lifecycle.r-lib.org/articles/stages.html)
[](https://codecov.io/github/jumpingrivers/prettyB?branch=master)
[](https://cran.r-project.org/package=prettyB)
Anyone who uses R Base graphics, have a 100 and 1 tweaks that they use to make the
figures more presentable. This package aims to capture the tweaks in one place.
## Installation
The package is still being developed and the graphs are subject to change.
The package is on CRAN and can be installed in the usual way
```{r eval = FALSE}
install.packages("prettyB")
```
To install the dev version, try
```{r, eval=FALSE}
devtools::install_github("jumpingrivers/prettyB")
```
The package can then be loaded in the usual way
```{r, message=FALSE}
library("prettyB")
```
## Usage
All plotting functions work exactly as before, with the same inputs. The difference
is that the defaults have been changed. For example, compare
```{r, plot-minimal,fig.width=12}
op = par(mfrow = c(1, 2))
plot(iris$Sepal.Length, iris$Sepal.Width)
plot_p(iris$Sepal.Length, iris$Sepal.Width)
```
When you first call a __prettyB__, it changes the underlying `par()` and
`palette()`. You can reset this via
```{r}
prettyB::reset_prettyB()
```
The core idea of __prettyB__ is that no new arguments are introducted to the
plot functions. This means, that no changes to existing code
are required
```{r, plot-minimal-full,fig.width=6, echo = -1}
op = par(mfrow = c(1, 1))
plot_p(iris$Sepal.Length, iris$Sepal.Width,
xlab = "Length", ylab = "Width",
main = "The Iris data set",
sub = "I hate this data too")
```
## Other plots
The package also prettifies other functions
* Histograms
```{r, echo=c(-1, -2)}
prettyB::reset_prettyB()
par(mfrow = c(1, 2))
z = rt(100, 4)
hist(z, main = "The t-distribution")
hist_p(z, main = "The t-distribution")
```
* barplots
```{r, echo=-1}
par(mfrow = c(1, 2), cex = 0.9)
barplot(VADeaths, main = "Death Rates in Virginia")
barplot_p(VADeaths, main = "Death Rates in Virginia")
```
## Package Rationale
This package is __not__ a replacement for __ggplot2__ or other R related plotting packages. Instead, it has a few simple aims
* provide package authors a low dependency method of making their plots look pretty
* provide academics with a way of generating nice plots, but not worry about future changes in R
* provide a simple way for improving the look and feel of plots in teaching
Since the generated plots by __prettyB__ use standard base graphics, with no new arguments, this makes plots future proof. As a fall-back, just remove the `_p`.
I picked up the general style a few years ago, but the book
[Fundamentals of Data Visualization](https://www.amazon.com/Fundamentals-Data-Visualization-Informative-Compelling/dp/1492031089/) has made it a bit
more consist. The author also provided a free
[online](https://serialmentor.com/dataviz/) version.
## Other information
* If you have any suggestions or find bugs, please use the github [issue tracker](https://github.com/jumpingrivers/prettyB/issues)
* Feel free to submit pull requests
---
Development of this package was supported by [Jumping Rivers](https://www.jumpingrivers.com)