Overview
Plotly renders charts as interactive HTML: hover for exact values, zoom into clusters, rotate 3D structures. For exploratory analysis, web supplements, and Dash dashboards it adds a dimension static matplotlib cannot — at the cost of print-oriented polish.
Why researchers use it
- Interactivity for free — hover/zoom/pan on every chart by default
- Plotly Express — one-liners for sophisticated statistical charts
- Dash — turn analyses into shareable web apps without JavaScript
Getting started
- pip install plotly; px.scatter(df, x=…, y=…, color=…) renders instantly in notebooks.
- Export interactive HTML with fig.write_html() for supplementary materials.
- For static export (PNG/PDF): add kaleido — and expect to tune sizes for print.
The honest review
Strengths. The best default for data you want others to explore rather than merely view; Dash is the most researcher-accessible path to an interactive companion app for a paper.
Limitations. Static print output needs more fiddling than matplotlib to meet journal specs; HTML figures embed in HTML supplements, not PDFs; the free ecosystem shades into paid Dash Enterprise upsells.