Clustermap
RNA-Seq Expression Matrix
Gene expression levels across tissue samples with hierarchical clustering
Output
Python
import matplotlib.pyplot as plt
import seaborn as sns
import pandas as pd
import numpy as np
from matplotlib.colors import LinearSegmentedColormap
np.random.seed(42)
genes = [f'Gene_{i}' for i in range(1, 21)]
tissues = ['Brain', 'Heart', 'Liver', 'Kidney', 'Lung', 'Muscle', 'Skin', 'Blood']
# Expression data with tissue-specific patterns
data = np.random.randn(20, 8) * 2
data[:5, 0] += 4 # Brain-specific genes
data[5:10, 1:3] += 3 # Heart/Liver genes
data[10:15, 3:5] += 3 # Kidney/Lung genes
data[15:, 5:] += 2 # Other tissues
df = pd.DataFrame(data, index=genes, columns=tissues)
# Tissue type colors
tissue_type = ['Neural', 'Cardiac', 'Metabolic', 'Excretory', 'Respiratory', 'Muscular', 'Epithelial', 'Immune']
palette = {'Neural': '#4927F5', 'Cardiac': '#F5276C', 'Metabolic': '#F5B027', 'Excretory': '#27D3F5',
'Respiratory': '#6CF527', 'Muscular': '#F54927', 'Epithelial': '#D3F527', 'Immune': '#F527B0'}
col_colors = pd.Series(tissue_type, index=tissues).map(palette)
neon_cmap = LinearSegmentedColormap.from_list('neon', ['#4927F5', '#0a0a0f', '#F5B027', '#F5276C'])
g = sns.clustermap(df, cmap=neon_cmap, col_colors=col_colors,
method='ward', metric='euclidean',
linewidths=0.3, linecolor='#1a1a2e',
figsize=(9, 8), dendrogram_ratio=(0.12, 0.12),
cbar_pos=(0.01, 0.08, 0.008, 0.12),
tree_kws={'linewidths': 1.5, 'colors': '#27D3F5'})
g.fig.patch.set_facecolor('#0a0a0f')
g.ax_heatmap.set_facecolor('#0a0a0f')
g.ax_heatmap.tick_params(colors='white', labelsize=8)
g.ax_row_dendrogram.set_facecolor('#0a0a0f')
g.ax_col_dendrogram.set_facecolor('#0a0a0f')
g.cax.tick_params(colors='white', labelsize=7)
g.fig.suptitle('RNA-Seq Tissue Expression', color='white', fontsize=13, fontweight='bold', y=1.02)
plt.show()
Library
Matplotlib
Category
Heatmaps & Density
More Clustermap examples
☕