funkyheatmap
funkyheatmap: Visualising data frames with mixed data types - Published in JOSS (2025)
Science Score: 93.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
○CITATION.cff file
-
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
✓DOI references
Found 4 DOI reference(s) in README and JOSS metadata -
○Academic publication links
-
○Academic email domains
-
○Institutional organization owner
-
✓JOSS paper metadata
Published in Journal of Open Source Software
Last synced: 6 months ago
·
JSON representation
Repository
Visualising data frames as funky heatmaps 📊
Basic Info
- Host: GitHub
- Owner: funkyheatmap
- License: other
- Language: R
- Default Branch: main
- Homepage: https://funkyheatmap.github.io/funkyheatmap/
- Size: 91.7 MB
Statistics
- Stars: 184
- Watchers: 6
- Forks: 12
- Open Issues: 11
- Releases: 7
Created over 3 years ago
· Last pushed 7 months ago
Metadata Files
Readme
Changelog
Contributing
License
README.Rmd
---
output: github_document
editor_options:
chunk_output_type: console
---
```{r, include = FALSE}
knitr::opts_chunk$set(
collapse = TRUE,
comment = "#>",
fig.path = "man/figures/README-",
out.width = "100%"
)
# dynbenchmark::reformat_tribbles("README.Rmd")
```
# {funkyheatmap}
[](https://cran.r-project.org/package=funkyheatmap)
[](https://github.com/funkyheatmap/funkyheatmap/actions/workflows/R-CMD-check.yaml)
**{funkyheatmap}** allows generating heatmap-like visualisations for data
frames. Funky heatmaps can be fine-tuned by providing annotations of the
columns and rows, which allows assigning multiple palettes or geometries
or grouping rows and columns together in categories.
## Installation
You can install funkyheatmap like so:
``` r
install.packages("funkyheatmap")
```
You can also download **{funkyheatmap}** as a [standalone executable](https://funkyheatmap.github.io/funkyheatmap/articles/executable.html)
or a [Nextflow pipeline](https://funkyheatmap.github.io/funkyheatmap/articles/nextflow.html).
## Example
Let's use the `mtcars` dataset as an example of what a funky heatmap looks like.
```{r example}
library(funkyheatmap)
library(dplyr, warn.conflicts = FALSE)
library(tibble, warn.conflicts = FALSE)
data("mtcars")
data <- mtcars %>%
rownames_to_column("id") %>%
arrange(desc(mpg))
```
You need to provide some information on how each column should be rendered, for example:
```{r example-with-colinfo}
column_info <- tribble(
~id, ~group, ~name, ~geom, ~palette, ~options,
"id", "", "", "text", NA, list(hjust = 0, width = 6),
"mpg", "overall", "Miles / gallon", "bar", "palette1", list(width = 4, legend = FALSE),
"cyl", "overall", "Number of cylinders", "bar", "palette2", list(width = 4, legend = FALSE),
"disp", "group1", "Displacement (cu.in.)", "funkyrect", "palette1", lst(),
"hp", "group1", "Gross horsepower", "funkyrect", "palette1", lst(),
"drat", "group1", "Rear axle ratio", "funkyrect", "palette1", lst(),
"wt", "group1", "Weight (1000 lbs)", "funkyrect", "palette1", lst(),
"qsec", "group2", "1/4 mile time", "circle", "palette2", lst(),
"vs", "group2", "Engine", "circle", "palette2", lst(),
"am", "group2", "Transmission", "circle", "palette2", lst(),
"gear", "group2", "# Forward gears", "circle", "palette2", lst(),
"carb", "group2", "# Carburetors", "circle", "palette2", lst()
)
```
Now you can generate the funky heatmap:
```{r include=FALSE}
g <- funky_heatmap(data, column_info = column_info, position_args = position_arguments(expand_xmax = 4))
knitr::opts_chunk$set(fig.width = g$width, fig.height = g$height)
```
```{r eval=FALSE}
funky_heatmap(
data,
column_info = column_info,
position_args = position_arguments(expand_xmax = 4)
)
```
```{r heatmap2, echo=FALSE}
g
```
## More information
* The [reference documentation](https://funkyheatmap.github.io/funkyheatmap/reference/index.html)
on `funky_heatmap()` details the exact formats of each annotation object that you can pass to it.
* Check out the [Getting started](https://funkyheatmap.github.io/funkyheatmap/articles/funkyheatmap.html)
article in the package documentation for more information on how to customize this visualisation.
* In [`vignette("dynbenchmark", "funkyheatmap")`](https://funkyheatmap.github.io/funkyheatmap/articles/dynbenchmark.html) we
use funkyheatmap to regenerate the figures from Saelens et al. (2019)
[doi:10.1038/s41587-019-0071-9](https://doi.org/10.1038/s41587-019-0071-9).
* We used [Viash](https://viash.io) to wrap the `funkyheatmap::funky_heatmap()` function
as a [standalone executable](https://funkyheatmap.github.io/funkyheatmap/articles/executable.html) and
[Nextflow module](https://funkyheatmap.github.io/funkyheatmap/articles/nextflow.html).
Owner
- Name: funkyheatmap
- Login: funkyheatmap
- Kind: organization
- Repositories: 5
- Profile: https://github.com/funkyheatmap
JOSS Publication
funkyheatmap: Visualising data frames with mixed data types
Published
April 11, 2025
Volume 10, Issue 108, Page 7698
Authors
Robrecht Cannoodt*
Data Mining and Modelling for Biomedicine group, VIB Center for Inflammation Research, Ghent, Belgium, Department of Applied Mathematics, Computer Science, and Statistics, Ghent University, Belgium, Data Intuitive, Lebbeke, Belgium
Data Mining and Modelling for Biomedicine group, VIB Center for Inflammation Research, Ghent, Belgium, Department of Applied Mathematics, Computer Science, and Statistics, Ghent University, Belgium, Data Intuitive, Lebbeke, Belgium
Louise Deconinck*
Data Mining and Modelling for Biomedicine group, VIB Center for Inflammation Research, Ghent, Belgium, Department of Applied Mathematics, Computer Science, and Statistics, Ghent University, Belgium
Data Mining and Modelling for Biomedicine group, VIB Center for Inflammation Research, Ghent, Belgium, Department of Applied Mathematics, Computer Science, and Statistics, Ghent University, Belgium
Artuur Couckuyt*
Data Mining and Modelling for Biomedicine group, VIB Center for Inflammation Research, Ghent, Belgium, Department of Applied Mathematics, Computer Science, and Statistics, Ghent University, Belgium
Data Mining and Modelling for Biomedicine group, VIB Center for Inflammation Research, Ghent, Belgium, Department of Applied Mathematics, Computer Science, and Statistics, Ghent University, Belgium
Nikolay S. Markov*
Division of Pulmonary and Critical Care Medicine, Northwestern University, Chicago, USA
Division of Pulmonary and Critical Care Medicine, Northwestern University, Chicago, USA
Luke Zappia
Data Intuitive, Lebbeke, Belgium, Institute of Computational Biology, Computational Health Center, Helmholtz Munich, Munich, Germany, Department of Mathematics, School of Computation, Information and Technology, Technical University of Munich, Munich, Germany
Data Intuitive, Lebbeke, Belgium, Institute of Computational Biology, Computational Health Center, Helmholtz Munich, Munich, Germany, Department of Mathematics, School of Computation, Information and Technology, Technical University of Munich, Munich, Germany
Malte D. Luecken
Institute of Computational Biology, Computational Health Center, Helmholtz Munich, Munich, Germany, Institute of Lung Health and Immunity (LHI), Helmholtz Munich, Comprehensive Pneumology Center (CPC-M), Germany; Member of the German Center for Lung Research (DZL)
Institute of Computational Biology, Computational Health Center, Helmholtz Munich, Munich, Germany, Institute of Lung Health and Immunity (LHI), Helmholtz Munich, Comprehensive Pneumology Center (CPC-M), Germany; Member of the German Center for Lung Research (DZL)
Tags
benchmarking visualisationsGitHub Events
Total
- Create event: 23
- Release event: 2
- Issues event: 11
- Watch event: 21
- Delete event: 14
- Issue comment event: 12
- Push event: 112
- Pull request review comment event: 39
- Pull request review event: 46
- Pull request event: 40
- Fork event: 2
Last Year
- Create event: 23
- Release event: 2
- Issues event: 11
- Watch event: 21
- Delete event: 14
- Issue comment event: 12
- Push event: 112
- Pull request review comment event: 39
- Pull request review event: 46
- Pull request event: 40
- Fork event: 2
Issues and Pull Requests
Last synced: 6 months ago
All Time
- Total issues: 28
- Total pull requests: 55
- Average time to close issues: 4 months
- Average time to close pull requests: 11 days
- Total issue authors: 17
- Total pull request authors: 6
- Average comments per issue: 2.39
- Average comments per pull request: 0.25
- Merged pull requests: 50
- Bot issues: 0
- Bot pull requests: 5
Past Year
- Issues: 6
- Pull requests: 36
- Average time to close issues: 21 days
- Average time to close pull requests: 7 days
- Issue authors: 5
- Pull request authors: 4
- Average comments per issue: 1.33
- Average comments per pull request: 0.06
- Merged pull requests: 35
- Bot issues: 0
- Bot pull requests: 0
Top Authors
Issue Authors
- rcannood (6)
- B-1991-ing (4)
- joe-jhou2 (2)
- rhenkin (2)
- wonderful1 (1)
- juehoujhou4 (1)
- kvshams (1)
- silviettapar (1)
- LeandroCasiraghi (1)
- YuanfengZhang (1)
- HelloWorldLTY (1)
- lazappi (1)
- mxposed (1)
- discoleo (1)
- Metagymomics (1)
Pull Request Authors
- LouiseDck (32)
- rcannood (23)
- dependabot[bot] (9)
- lazappi (1)
- jromanowska (1)
- danielskatz (1)
Top Labels
Issue Labels
bug (4)
enhancement (4)
Pull Request Labels
dependencies (9)
Packages
- Total packages: 1
-
Total downloads:
- cran 365 last-month
- Total docker downloads: 55
- Total dependent packages: 0
- Total dependent repositories: 0
- Total versions: 7
- Total maintainers: 1
cran.r-project.org: funkyheatmap
Generating Funky Heatmaps for Data Frames
- Homepage: https://funkyheatmap.github.io/funkyheatmap/
- Documentation: http://cran.r-project.org/web/packages/funkyheatmap/funkyheatmap.pdf
- License: MIT + file LICENSE
-
Latest release: 0.5.2
published 11 months ago
Rankings
Stargazers count: 11.3%
Forks count: 21.9%
Average: 25.4%
Downloads: 28.4%
Dependent packages count: 29.8%
Dependent repos count: 35.5%
Maintainers (1)
Last synced:
6 months ago
Dependencies
.github/workflows/R-CMD-check.yaml
actions
- actions/checkout v3 composite
- r-lib/actions/check-r-package v2 composite
- r-lib/actions/setup-pandoc v2 composite
- r-lib/actions/setup-r v2 composite
- r-lib/actions/setup-r-dependencies v2 composite
.github/workflows/pkgdown.yaml
actions
- JamesIves/github-pages-deploy-action v4.4.1 composite
- actions/checkout v3 composite
- r-lib/actions/setup-pandoc v2 composite
- r-lib/actions/setup-r v2 composite
- r-lib/actions/setup-r-dependencies v2 composite
DESCRIPTION
cran
- R >= 2.10 depends
- RColorBrewer * imports
- assertthat * imports
- cli * imports
- cowplot * imports
- dplyr * imports
- dynutils * imports
- ggforce * imports
- ggplot2 * imports
- grDevices * imports
- purrr * imports
- stringr * imports
- tibble * imports
- tidyr * imports
- knitr * suggests
- rmarkdown * suggests
- testthat >= 3.0.0 suggests