Agent skill

bio-data-visualization-color-palettes

Stars 2,009
Forks 275

Install this agent skill to your Project

npx add-skill https://github.com/FreedomIntelligence/OpenClaw-Medical-Skills/tree/main/skills/bio-data-visualization-color-palettes

SKILL.md


name: bio-data-visualization-color-palettes description: Select and apply colorblind-friendly palettes for scientific figures using viridis, RColorBrewer, and custom color schemes. Use when selecting colorblind-friendly palettes for figures. tool_type: mixed primary_tool: viridis measurable_outcome: Execute skill workflow successfully with valid output within 15 minutes. allowed-tools:

  • read_file
  • run_shell_command

Color Palettes

Palette Types

Type Use Case Example
Sequential Continuous data (expression, coverage) viridis, Blues
Diverging Centered data (fold change, z-score) RdBu, coolwarm
Qualitative Categories (clusters, conditions) Set1, tab10

viridis (Colorblind-Safe)

r
library(viridis)

# Continuous scale
ggplot(df, aes(x, y, color = value)) +
    geom_point() +
    scale_color_viridis_c()

# Discrete scale
ggplot(df, aes(x, y, color = group)) +
    geom_point() +
    scale_color_viridis_d()

# Options: viridis, magma, plasma, inferno, cividis, turbo
scale_color_viridis_c(option = 'magma')
python
import matplotlib.pyplot as plt

plt.scatter(x, y, c=values, cmap='viridis')
# Options: viridis, magma, plasma, inferno, cividis

RColorBrewer (R)

r
library(RColorBrewer)

# View all palettes
display.brewer.all()

# Sequential
scale_fill_brewer(palette = 'Blues')
scale_color_distiller(palette = 'YlOrRd', direction = 1)

# Diverging
scale_fill_brewer(palette = 'RdBu')
scale_color_gradient2(low = '#4DBBD5', mid = 'white', high = '#E64B35', midpoint = 0)

# Qualitative
scale_color_brewer(palette = 'Set1')
scale_fill_brewer(palette = 'Dark2')

# Get colors directly
brewer.pal(n = 5, name = 'Set1')

matplotlib/seaborn (Python)

python
import matplotlib.pyplot as plt
import seaborn as sns

# Sequential
plt.scatter(x, y, c=values, cmap='Blues')

# Diverging
plt.scatter(x, y, c=values, cmap='RdBu_r', vmin=-2, vmax=2)

# Qualitative
palette = sns.color_palette('Set1', n_colors=5)
sns.scatterplot(x=x, y=y, hue=group, palette='Set1')

# Custom palette
custom_palette = {'Control': '#4DBBD5', 'Treatment': '#E64B35'}
sns.scatterplot(x=x, y=y, hue=group, palette=custom_palette)

Scientific Journal Palettes

r
library(ggsci)

# Nature Publishing Group
scale_color_npg()
scale_fill_npg()

# AAAS Science
scale_color_aaas()

# Lancet
scale_color_lancet()

# JAMA
scale_color_jama()

# JCO
scale_color_jco()

Custom Palettes

r
# Define custom colors
my_colors <- c(
    'Control' = '#4DBBD5',
    'Treatment' = '#E64B35',
    'Vehicle' = '#00A087'
)

scale_color_manual(values = my_colors)
scale_fill_manual(values = my_colors)

# Create gradient
colorRampPalette(c('blue', 'white', 'red'))(100)
python
from matplotlib.colors import LinearSegmentedColormap

colors = ['#4DBBD5', 'white', '#E64B35']
cmap = LinearSegmentedColormap.from_list('custom_diverging', colors)
plt.imshow(data, cmap=cmap)

Heatmap Colors

r
library(circlize)

# For ComplexHeatmap
col_fun <- colorRamp2(c(-2, 0, 2), c('#4DBBD5', 'white', '#E64B35'))

# For pheatmap
pheatmap(mat, color = colorRampPalette(rev(brewer.pal(9, 'RdBu')))(100))
python
import seaborn as sns

sns.heatmap(data, cmap='RdBu_r', center=0, vmin=-2, vmax=2)

Colorblind Simulation

r
library(colorspace)

# Check if palette is colorblind safe
demoplot(rainbow(5), type = 'map')
demoplot(viridis(5), type = 'map')

# Simulate colorblindness
cvd_colors <- deutan(c('#E64B35', '#4DBBD5', '#00A087'))  # deuteranopia
cvd_colors <- protan(c('#E64B35', '#4DBBD5', '#00A087'))  # protanopia

Recommended Palettes

Data Type Recommended Avoid
Expression heatmap RdBu (diverging) Rainbow
Categories (<8) Set1, Dark2, npg Too many colors
Categories (>8) tab20, Paired Qualitative sets
Continuous viridis, plasma Jet, rainbow
p-values viridis (reversed) Red-green

Transparency

r
# Add alpha
scale_color_manual(values = alpha(c('#E64B35', '#4DBBD5'), 0.7))

# In geom
geom_point(alpha = 0.6)
python
# Add alpha to hex
def add_alpha(hex_color, alpha):
    return hex_color + format(int(alpha * 255), '02x')

color_with_alpha = add_alpha('#E64B35', 0.7)

# In scatter
plt.scatter(x, y, c='#E64B35', alpha=0.7)

Extract Colors from Palette

r
# Get discrete colors
pal <- brewer.pal(8, 'Set1')
pal[1:3]  # First 3 colors

# Interpolate more colors
colorRampPalette(brewer.pal(8, 'Set1'))(20)
python
import seaborn as sns

palette = sns.color_palette('Set1', n_colors=8)
palette[:3]  # First 3 colors

# As hex
palette.as_hex()

Related Skills

  • data-visualization/ggplot2-fundamentals - Apply colors
  • data-visualization/heatmaps-clustering - Heatmap colors
  • data-visualization/specialized-omics-plots - Plot styling

Expand your agent's capabilities with these related and highly-rated skills.

FreedomIntelligence/OpenClaw-Medical-Skills

vcf-annotator

Annotate VCF variants with VEP, ClinVar, gnomAD frequencies, and ancestry-aware context. Generates prioritised variant reports.

2,009 275
Explore
FreedomIntelligence/OpenClaw-Medical-Skills

chemist-analyst

Analyzes events through chemistry lens using molecular structure, reaction mechanisms, thermodynamics, kinetics, and analytical techniques (spectroscopy, chromatography, mass spectrometry). Provides insights on chemical processes, material properties, reaction pathways, synthesis, and analytical methods. Use when: Chemical reactions, material analysis, synthesis planning, process optimization, environmental chemistry. Evaluates: Molecular structure, reaction mechanisms, yield, selectivity, safety, environmental impact.

2,009 275
Explore
FreedomIntelligence/OpenClaw-Medical-Skills

bio-alignment-io

Read, write, and convert multiple sequence alignment files using Biopython Bio.AlignIO. Supports Clustal, PHYLIP, Stockholm, FASTA, Nexus, and other alignment formats for phylogenetics and conservation analysis. Use when reading, writing, or converting alignment file formats.

2,009 275
Explore
FreedomIntelligence/OpenClaw-Medical-Skills

sleep-analyzer

分析睡眠数据、识别睡眠模式、评估睡眠质量,并提供个性化睡眠改善建议。支持与其他健康数据的关联分析。

2,009 275
Explore
FreedomIntelligence/OpenClaw-Medical-Skills

metabolomics-workbench-database

Access NIH Metabolomics Workbench via REST API (4,200+ studies). Query metabolites, RefMet nomenclature, MS/NMR data, m/z searches, study metadata, for metabolomics and biomarker discovery.

2,009 275
Explore
FreedomIntelligence/OpenClaw-Medical-Skills

bio-hi-c-analysis-matrix-operations

Balance, normalize, and transform Hi-C contact matrices using cooler and cooltools. Apply iterative correction (ICE), compute expected values, and generate observed/expected matrices. Use when normalizing or transforming Hi-C matrices.

2,009 275
Explore

Didn't find tool you were looking for?

Be as detailed as possible for better results