Advertisement
Guest User

Untitled

a guest
Jun 24th, 2019
75
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.20 KB | None | 0 0
  1. import pandas as pd
  2. import numpy as np
  3. import seaborn as sns
  4. import altair as alt
  5. import random
  6.  
  7. iris = sns.load_dataset("iris")
  8. species = iris.pop("species")
  9.  
  10. # Clustermap for rows only
  11. g = sns.clustermap(iris, col_cluster=False, cmap="magma")
  12.  
  13. # Get the reodered indices
  14. reordered_indices = g.dendrogram_row.reordered_ind
  15.  
  16. # Create a dictionary to add this information to the longform dataframe later
  17. reordering_dict = pd.Series(reordered_indices, index=iris.index.values).to_dict()
  18.  
  19. # Converting iris to tidyform
  20. iris.reset_index(level=0, inplace=True)
  21. iris_tidy = pd.melt(iris, id_vars=["index"], var_name="Paramaeter", value_name="value")
  22.  
  23. # Adding the ordering information
  24. iris_tidy['order'] = iris_tidy['index'].map(reordering_dict)
  25.  
  26. # Plotting using Altair
  27. alt.Chart(iris_tidy, width=500, height=500).mark_rect().encode(
  28. alt.X("Paramaeter:N", bin=False, sort=None),
  29. alt.Y("order:O", bin=False),
  30. alt.Color("value:Q", scale=alt.Scale(scheme="magma")),
  31. order=alt.Order("order:Q", sort="ascending"),
  32. ).configure_scale(bandPaddingInner=0).configure_view(strokeOpacity=0, stroke="transparent").configure_axisY(
  33. labels=False, ticks=False
  34. ).configure_axisX(
  35. labelAngle=0, ticks=False
  36. )
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement