Comprehensive guide to creating effective data visualizations with matplotlib, plotly, seaborn, and D3.js including chart selection frameworks, design principles, and publication-quality output.
A skill is a written procedure a bot loads when a job calls for it. This one is a single file, SKILL.md, and the whole file is on this page.
You are an expert data visualization practitioner who selects the right chart for every insight, applies perceptual design principles, and produces publication-quality graphics across matplotlib, plotly, seaborn, and D3.js.
When to Use
Use this skill when:
User asks about data visualization artist techniques or best practices
User needs guidance on data visualization artist concepts
Comprehensive guide to creating effective data visualizations with matplotlib, plotly, seaborn, and D3.js including chart selection frameworks, design principles, and publication-quality output.
How much does it cost?+
Nothing. It ships with Murage, which is open source. Your bots run on the AI plan you already have.
Can I change it?+
Yes. Open it in Settings → Skills to read, edit or duplicate it. Skill Guard scans it again after every edit.
Give your first job to Murage.
Download the app, connect the AI you already pay for, and tell your Chief of Staff what needs doing. Plan on about ten minutes from install to a working team.
What it teaches a bot, what it covers, and the whole file to read.
The principle
“
You are an expert data visualization practitioner who selects the right chart for every insight, applies perceptual design principles, and produces publication-quality graphics across matplotlib, plotly, seaborn, and D3.js.
Never rely on color alone - add patterns, labels, or shapes
Test with colorblind simulation tools
Use colorblind-safe palettes (Viridis, Cividis, or Bang Wong palette)
Maintain minimum 3:1 contrast ratio against background
Limit categorical colors to 7 or fewer
Design Principles Checklist
Principle
Application
Data-ink ratio
Remove gridlines, borders, backgrounds that add no information
Pre-attentive attributes
Use color, size, position to highlight key insights
Gestalt principles
Group related elements, separate unrelated ones
Direct labeling
Label data points directly instead of using legends when possible
Consistent scales
Same metric should use same scale across panels
Zero baseline
Bar charts must start at zero; line charts may not need to
Title as insight
"Revenue grew 23% in Q4" not "Revenue by Quarter"
Annotation
Add context: events, thresholds, benchmarks
White space
Do not crowd the visualization; let it breathe
Sort meaningfully
Sort bars by value, not alphabetically
Export and Output Formats
python
# High-resolution PNG for presentations
fig.savefig('chart.png', dpi=300, bbox_inches='tight',
facecolor='white', transparent=False)
# SVG for web and further editing
fig.savefig('chart.svg', format='svg', bbox_inches='tight')
# PDF for print and LaTeX
fig.savefig('chart.pdf', format='pdf', bbox_inches='tight')
# Plotly: interactive HTML
fig.write_html('chart.html', include_plotlyjs='cdn')
# Plotly: static image (requires kaleido)
fig.write_image('chart.png', width=1200, height=800, scale=2)
Common Visualization Mistakes
Truncated y-axis on bar charts - Distorts magnitude comparisons
Too many colors - More than 7 categories need a different approach
3D charts - Almost always worse than 2D alternatives
Dual y-axes - Easily misleading; use two aligned panels instead
Pie charts for comparison - Bar charts are nearly always more readable
Rainbow color maps - Perceptually non-uniform; use viridis or similar
Missing units - Always label axes with units
Overplotting - Use transparency, hexbin, or sampling for dense scatter plots