Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import pandas as pd
- import numpy as np
- import seaborn as sns
- import altair as alt
- import random
- iris = sns.load_dataset("iris")
- species = iris.pop("species")
- # Clustermap for rows only
- g = sns.clustermap(iris, col_cluster=False, cmap="magma")
- # Get the reodered indices
- reordered_indices = g.dendrogram_row.reordered_ind
- # Create a dictionary to add this information to the longform dataframe later
- reordering_dict = pd.Series(reordered_indices, index=iris.index.values).to_dict()
- # Converting iris to tidyform
- iris.reset_index(level=0, inplace=True)
- iris_tidy = pd.melt(iris, id_vars=["index"], var_name="Paramaeter", value_name="value")
- # Adding the ordering information
- iris_tidy['order'] = iris_tidy['index'].map(reordering_dict)
- # Plotting using Altair
- alt.Chart(iris_tidy, width=500, height=500).mark_rect().encode(
- alt.X("Paramaeter:N", bin=False, sort=None),
- alt.Y("order:O", bin=False),
- alt.Color("value:Q", scale=alt.Scale(scheme="magma")),
- order=alt.Order("order:Q", sort="ascending"),
- ).configure_scale(bandPaddingInner=0).configure_view(strokeOpacity=0, stroke="transparent").configure_axisY(
- labels=False, ticks=False
- ).configure_axisX(
- labelAngle=0, ticks=False
- )
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement