Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/andrie/ggdendro
Tools to extract dendrogram plot data for use with 'ggplot2'
https://github.com/andrie/ggdendro
ggplot2 r r-package r-stats
Last synced: 6 days ago
JSON representation
Tools to extract dendrogram plot data for use with 'ggplot2'
- Host: GitHub
- URL: https://github.com/andrie/ggdendro
- Owner: andrie
- Created: 2011-08-06T20:35:39.000Z (over 13 years ago)
- Default Branch: main
- Last Pushed: 2024-03-31T17:29:23.000Z (9 months ago)
- Last Synced: 2024-05-18T20:48:34.946Z (7 months ago)
- Topics: ggplot2, r, r-package, r-stats
- Language: R
- Homepage: http://andrie.github.io/ggdendro/
- Size: 11.2 MB
- Stars: 81
- Watchers: 9
- Forks: 11
- Open Issues: 3
-
Metadata Files:
- Readme: README.Rmd
Awesome Lists containing this project
- awesome-r-dataviz - ggdendro - Tools to extract dendrogram plot data for use with ggplot. (ggplot / Additional Plot Types)
README
---
output: github_document
format: gfm
default-image-extension: ""
---```{r, include = FALSE}
knitr::opts_chunk$set(
collapse = TRUE,
comment = "#>",
fig.path = "man/figures/README-",
out.width = "100%"
)
```# ggdendro
Provides functions for creating dendrograms and tree plots using `ggplot2`.
[![CRAN status](https://www.r-pkg.org/badges/version/ggdendro)](https://CRAN.R-project.org/package=ggdendro)
[![CRAN RStudio mirror downloads](http://cranlogs.r-pkg.org/badges/ggdendro)](http://www.r-pkg.org/pkg/ggdendro)
[![R-CMD-check](https://github.com/andrie/ggdendro/actions/workflows/R-CMD-check.yaml/badge.svg)](https://github.com/andrie/ggdendro/actions/workflows/R-CMD-check.yaml)
[![Codecov test coverage](https://codecov.io/gh/andrie/ggdendro/branch/main/graph/badge.svg)](https://app.codecov.io/gh/andrie/ggdendro?branch=main)
[![Project Status: Inactive – The project has reached a stable, usable state but is no longer being actively developed; support/maintenance will be provided as time allows.](https://www.repostatus.org/badges/latest/inactive.svg)](https://www.repostatus.org/#inactive)The `ggdendro` package offers a generic function to extract data and text from the various clustering models:
* `dendro_data()` extracts cluster information from the model object, e.g. cluster allocation, line segment data or label data.
The `dendro_data` object has methods for the following classes:
* `tree`
* `hclust`
* `dendrogram`
* `rpart`These methods create an object of class `dendro`, which is essentially a list of data frames. To extract the relevant data frames from the list, use the three accessor functions:
* `segment()` for the line segment data
* `label()` for the text for each end segment
* `leaf_label()` for the leaf labels of a tree diagramThe results of these functions can then be passed to `ggplot()` for plotting.
## Examples
```{r}
library(ggplot2)
library(ggdendro)
hc <- hclust(dist(USArrests), "ave")
hcdata <- dendro_data(hc, type = "rectangle")
ggplot() +
geom_segment(data = segment(hcdata),
aes(x = x, y = y, xend = xend, yend = yend)
) +
geom_text(data = label(hcdata),
aes(x = x, y = y, label = label, hjust = 0),
size = 3
) +
coord_flip() +
scale_y_reverse(expand = c(0.2, 0))### demonstrate plotting directly from object class hclust
ggdendrogram(hc)
ggdendrogram(hc, rotate = TRUE)### demonstrate converting hclust to dendro using dendro_data first
hcdata <- dendro_data(hc)
ggdendrogram(hcdata, rotate = TRUE) +
labs(title = "Dendrogram in ggplot2")
```
# Use `dendextend` insteadMost of the functionality in `ggdendro` is included in the excellent `dendextend` package. In most cases, if you need additional functionality, please use the `dendextend` package instead.
The `ggdendro` package will only get minimal maintenance in future.
Refer to