Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://selkamand.github.io/gg1d/
Automatically Create 1D Plots From Tabular Data
https://selkamand.github.io/gg1d/
Last synced: about 1 month ago
JSON representation
Automatically Create 1D Plots From Tabular Data
- Host: GitHub
- URL: https://selkamand.github.io/gg1d/
- Owner: selkamand
- License: other
- Created: 2023-01-01T16:22:12.000Z (about 2 years ago)
- Default Branch: main
- Last Pushed: 2024-12-04T08:56:09.000Z (about 1 month ago)
- Last Synced: 2024-12-04T09:38:05.401Z (about 1 month ago)
- Language: HTML
- Homepage: https://selkamand.github.io/gg1d/
- Size: 9.9 MB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 4
-
Metadata Files:
- Readme: README.Rmd
- Contributing: CONTRIBUTING.md
- License: LICENSE
Awesome Lists containing this project
- awesome-ggplot2 - gg1d - Dimensional Graphics (Plot layers)
README
---
output: github_document
---```{r, include = FALSE}
knitr::opts_chunk$set(
collapse = TRUE,
comment = "#>",
fig.path = "man/figures/README-",
out.width = "100%"
)
```[![R-CMD-check](https://github.com/selkamand/gg1d/actions/workflows/R-CMD-check.yaml/badge.svg)](https://github.com/selkamand/gg1d/actions/workflows/R-CMD-check.yaml)
[![Lifecycle: experimental](https://img.shields.io/badge/lifecycle-experimental-orange.svg)](https://lifecycle.r-lib.org/articles/stages.html#experimental)
[![Codecov test coverage](https://codecov.io/gh/selkamand/gg1d/branch/main/graph/badge.svg)](https://app.codecov.io/gh/selkamand/gg1d?branch=main)
![GitHub Issues or Pull Requests](https://img.shields.io/github/issues-closed/selkamand/gg1d)
[![code size](https://img.shields.io/github/languages/code-size/selkamand/gg1d.svg)](https://github.com/selkamand/gg1d)
![GitHub last commit](https://img.shields.io/github/last-commit/selkamand/gg1d)Effortlessly visualize all columns in a data frame with vertically aligned plots and automatic plot selection based on variable type. Plots are fully interactive, and custom tooltips can be added.
**Why 1 dimensional plots?**
To understand trends in your data, especially correlative relationships between 2 or more features, it can be useful to densely stack visual representations of each feature vertically, regardless of data type. By unifying the $x$-axis across each plot, **gg1d** turns a series of 1D plots into an $n\text{-dimensional}$ visualization where $n = \text{number of columns in dataset}$.
Note the key idea of gg1d is to 'preserve the individual.' **gg1d** does **NOT** plot distributions of properties, but rather each value of a feature for each subject/observation in the dataset.gg1d can be used for exploratory data analysis (EDA) or to produce publication quality graphics summarizing a dataset.
## Installation
``` r
install.packages("gg1d")
```### Development Version
You can install the development version of gg1d from [GitHub](https://github.com/) with:
``` r
if (!require("remotes"))
install.packages("remotes")remotes::install_github("selkamand/gg1d")
```## Quick Start
For examples of interactive gg1d plots see the [gg1d gallery](https://selkamand.github.io/gg1d/articles/gallery.html)
```{r, example, fig.width = 7, fig.height = 5}
# Load library
library(gg1d)# Read data
path_gg1d <- system.file("example.csv", package = "gg1d")
df <- read.csv(path_gg1d, header = TRUE, na.strings = "")# Plot data, sort by Glasses
gg1d(
df,
col_id = "ID",
col_sort = "Glasses",
interactive = FALSE,
verbose = FALSE,
options = gg1d_options(legend_nrow = 2)
)
```## Customise Colours
Customise colours by supplying a named list to the `palettes` argument
```{r customise_colours, fig.width = 7, fig.height = 5}
gg1d(
df,
col_id = "ID",
col_sort = "Glasses",
palettes = list("EyeColour" = c(
Brown = "rosybrown4",
Blue = "steelblue",
Green = "seagreen"
)),
interactive = FALSE,
verbose = FALSE,
options = gg1d_options(legend_nrow = 2)
)
```## Community Contributions
All types of contributions are encouraged and valued. See our [guide to
community contributions](https://selkamand.github.io/gg1d/CONTRIBUTING.html) for different ways to help.