Streamlit is a really interesting tool. I want to know how to generate a D3plus style treemap in streamlit, sized and colored based on differerent dataframe columns.
Hey @bmahal ,
Welcome to the community and thanks for the kind words! Below is a code snippet that shows how to make a basic treemap through matplotlib and squarify:
import streamlit as st import matplotlib.pyplot as plt import squarify volume = [350, 220, 170, 150, 50] labels = ['Liquid\n volume: 350k', 'Savoury\n volume: 220k', 'Sugar\n volume: 170k', 'Frozen\n volume: 150k', 'Non-food\n volume: 50k'] color_list = ['#0f7216', '#b2790c', '#ffe9a3', '#f9d4d4', '#d35158', '#ea3033'] plt.rc('font', size=14) squarify.plot(sizes=volume, label=labels, color=color_list, alpha=0.7) plt.axis('off') st.pyplot()
While writing the response to your question, I was also playing around with Plotly’s interactive treemaps which can be found here. Unfortunately, it looks like there’s a bug in Plotly in Streamlit right now that causes that chart not to render. I’ve created a bug report for it here. If you’re interested in that, you can follow its progress over there, and upvote / leave comments if you’d like!