Scientific Data Visualization

SkillDev tools

Create scientific plots and visualizations using matplotlib and seaborn

Available today. Use it from your connected AI after setup.

Connect ahel once, and every AI you use reads what you have installed.

Then ask your AI: use the Scientific Data Visualization skill

What this skill tells your AI

The instructions your AI receives, as published by lamm-mit/scienceclaw in skills/datavis/SKILL.md and read by ahel’s review.

Create publication-quality scientific plots and visualizations using matplotlib and seaborn.

Overview

This skill provides data visualization capabilities for scientific data:

  • Line plots, scatter plots, bar charts
  • Heatmaps and clustermaps
  • Box plots and violin plots
  • Histograms and density plots
  • Sequence logos (for bioinformatics)
  • Multiple subplot layouts

Usage

Create a line plot from CSV:

python3 {baseDir}/scripts/plot_data.py line --data data.csv --x time --y value --output plot.png

Create a scatter plot:

python3 {baseDir}/scripts/plot_data.py scatter --data data.csv --x x_col --y y_col --hue group

Create a heatmap:

python3 {baseDir}/scripts/plot_data.py heatmap --data matrix.csv --output heatmap.png

Create a bar chart:

python3 {baseDir}/scripts/plot_data.py bar --data data.csv --x category --y value

Plot from JSON data:

python3 {baseDir}/scripts/plot_data.py line --json '{"x": [1,2,3], "y": [4,5,6]}'

Plot Types

line

Line plot for continuous data.

ParameterDescriptionDefault
--dataCSV file path-
--jsonJSON data string-
--xX-axis columnRequired
--yY-axis column(s), comma-separatedRequired
--hueColor grouping column-
--styleLine style column-
--markersAdd markersFalse

scatter

Scatter plot for showing relationships.

ParameterDescriptionDefault
--dataCSV file path-
--xX-axis columnRequired
--yY-axis columnRequired
--hueColor grouping column-
--sizeSize column-
--alphaPoint transparency0.7

bar

Bar chart for categorical data.

ParameterDescriptionDefault
--dataCSV file path-
--xCategory columnRequired
--yValue columnRequired
--hueColor grouping column-
--horizontalHorizontal barsFalse
--errorError bar column-

heatmap

Heatmap for matrix data.

ParameterDescriptionDefault
--dataCSV file pathRequired
--cmapColor mapviridis
--annotateShow valuesFalse
--clusterCluster rows/columnsFalse

box

Box plot for distributions.

ParameterDescriptionDefault
--dataCSV file path-
--xGrouping column-
--yValue columnRequired
--hueColor grouping column-

violin

Violin plot for distributions.

ParameterDescriptionDefault
--dataCSV file path-
--xGrouping column-
--yValue columnRequired
--hueColor grouping column-
--splitSplit violins by hueFalse

histogram

Histogram for distributions.

ParameterDescriptionDefault
--dataCSV file path-
--xValue columnRequired
--binsNumber of binsauto
--kdeAdd KDE lineFalse
--hueColor grouping column-

Common Options

OptionDescriptionDefault
--outputOutput file pathplot.png
--formatOutput format: png, svg, pdfpng
--titlePlot title-
--xlabelX-axis labelcolumn name
--ylabelY-axis labelcolumn name
--figsizeFigure size (width,height)10,6
--styleSeaborn stylewhitegrid
--paletteColor palettedeep
--dpiOutput resolution150
--legendLegend positionauto
--logxLog scale X-axisFalse
--logyLog scale Y-axisFalse

Examples

Multi-line plot with legend:

python3 {baseDir}/scripts/plot_data.py line --data timeseries.csv --x date --y "temp,humidity" --title "Weather Data" --output weather.png

Scatter plot with regression line:

python3 {baseDir}/scripts/plot_data.py scatter --data experiment.csv --x dose --y response --hue treatment --title "Dose Response" --output dose_response.png

Clustered heatmap:

python3 {baseDir}/scripts/plot_data.py heatmap --data expression.csv --cluster --cmap RdBu_r --title "Gene Expression" --output heatmap.svg --format svg

Box plot with multiple groups:

python3 {baseDir}/scripts/plot_data.py box --data measurements.csv --x condition --y value --hue treatment --title "Treatment Effects"

Histogram with KDE:

python3 {baseDir}/scripts/plot_data.py histogram --data samples.csv --x measurement --bins 30 --kde --title "Distribution"

Publication-quality figure:

python3 {baseDir}/scripts/plot_data.py scatter --data results.csv --x x --y y --figsize 8,6 --dpi 300 --format svg --style white --output figure1.svg

Color Palettes

  • deep: Default seaborn palette
  • muted: Muted colors
  • bright: Bright colors
  • pastel: Pastel colors
  • dark: Dark colors
  • colorblind: Colorblind-friendly
  • viridis: Perceptually uniform
  • plasma: Perceptually uniform
  • RdBu: Red-Blue diverging
  • coolwarm: Cool-Warm diverging

Notes

  • Data can be provided as CSV files or JSON strings
  • SVG output is recommended for publications
  • Use --dpi 300 for high-resolution figures
  • Column names with spaces should be quoted

Signals

GitHub stars
242
Forks
42
Last commit
Aug 2026
Advanced
Catalog kind
skill
Gateway key
datavis-lamm-mit
Source
github.com/lamm-mit/scienceclaw