https://github.com/kamicollo/idendrogram
Interactive dendrograms using Altair, Plotly and Streamlit
https://github.com/kamicollo/idendrogram
Last synced: 9 months ago
JSON representation
Interactive dendrograms using Altair, Plotly and Streamlit
- Host: GitHub
- URL: https://github.com/kamicollo/idendrogram
- Owner: kamicollo
- License: mit
- Created: 2022-09-04T03:16:48.000Z (almost 4 years ago)
- Default Branch: main
- Last Pushed: 2023-07-29T23:30:43.000Z (almost 3 years ago)
- Last Synced: 2024-04-25T10:44:15.983Z (about 2 years ago)
- Language: HTML
- Homepage: https://kamicollo.github.io/idendrogram/
- Size: 72.4 MB
- Stars: 3
- Watchers: 1
- Forks: 0
- Open Issues: 3
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# idendrogram
idendrogram helps you create nicer, interactive visualizations of hierarchical clustering trees (a.k.a. dendrograms) from clustering outputs generated by your preferred hierarchical clustering library (SciPy, Scikit-learn or HDBSCAN) in your preferred python visualization library (Altair, Plotly or Matplotlib)
It also supports bi-directional Streamlit integration via a custom D3-powered component.

## Installation
To use the main package:
```pip install idendrogram```
To use the bi-directional Streamlit component:
```pip install idendrogram idendrogram-streamlit-component```
## Basic usage
```python
import idendrogram
import scipy.cluster.hierarchy as sch
from idendrogram.targets.altair import to_altair
#cluster the data
linkage_matrix = sch.linkage(
data['data'], method='single', metric='euclidean'
)
threshold = 0.8
flat_clusters = sch.fcluster(
linkage_matrix, t=threshold, criterion='distance'
)
#wrap clustering outputs / parameters into a container
cl_data = idendrogram.ClusteringData(
linkage_matrix = linkage_matrix,
cluster_assignments = flat_clusters
)
#pass to idendrogram and visualize
idd = idendrogram.idendrogram()
idd.set_cluster_info(cl_data)
dendrogram = idd.create_dendrogram(truncate_mode='level', p=10)
to_altair(dendrogram=dendrogram, height=200, width=629)
```
For more, see docs at https://kamicollo.github.io/idendrogram/