bio-data-visualization-color-palettes

Type Use Case Example

Safety Notice

This listing is imported from skills.sh public index metadata. Review upstream SKILL.md and repository scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "bio-data-visualization-color-palettes" with this command: npx skills add gptomics/bioskills/gptomics-bioskills-bio-data-visualization-color-palettes

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)

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')

import matplotlib.pyplot as plt

plt.scatter(x, y, c=values, cmap='viridis')

Options: viridis, magma, plasma, inferno, cividis

RColorBrewer (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)

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

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

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)

from matplotlib.colors import LinearSegmentedColormap

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

Heatmap Colors

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))

import seaborn as sns

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

Colorblind Simulation

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

Add alpha

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

In geom

geom_point(alpha = 0.6)

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

Get discrete colors

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

Interpolate more colors

colorRampPalette(brewer.pal(8, 'Set1'))(20)

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

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

General

bioskills

No summary provided by upstream source.

Repository SourceNeeds Review
General

bio-data-visualization-genome-tracks

No summary provided by upstream source.

Repository SourceNeeds Review
General

bio-epitranscriptomics-merip-preprocessing

No summary provided by upstream source.

Repository SourceNeeds Review
General

bio-data-visualization-multipanel-figures

No summary provided by upstream source.

Repository SourceNeeds Review