SkillAgentSearch skills...

Idendrogram

Interactive dendrograms using Altair, Plotly and Streamlit

Install / Use

/learn @kamicollo/Idendrogram
About this skill

Quality Score

0/100

Supported Platforms

Universal

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.

<img src='docs/gallery/custom-radii.png' width=500> <img src='docs/gallery/streamlit-integration.gif' width=500>

Installation

To use the main package:

pip install idendrogram

To use the bi-directional Streamlit component:

pip install idendrogram idendrogram-streamlit-component

Basic usage

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/

View on GitHub
GitHub Stars5
CategoryDevelopment
Updated11mo ago
Forks0

Languages

HTML

Security Score

77/100

Audited on Apr 5, 2025

No findings