Skip to article frontmatterSkip to article content

Appendix C: Python Plotting & Chemical Structure Visualization

One-sentence takeaway. Python’s visualization ecosystem spans general-purpose plotting and domain-specific 3D chemical viewing; choose tools based on interactivity, dimensionality (2D/3D), and data modality.


General plotting libraries (Python)

Use this quick catalog to select a plotting stack based on needs such as interactivity, grammar-of-graphics, or 3D/volumetric data.

Pick-by-task (plotting)

Use caseRecommended libraries
General static plotsMatplotlib, Seaborn, Pandas API
Interactive web plotsBokeh, Plotly, Altair
Grammar-of-graphicsAltair, plotnine
SVG/lightweight chartspygal, Leather
Missing-data diagnosticsmissingno
3D/volumetric scientificMayavi
Networks/graphsNetworkX, python-igraph
Materials visualizationpymatviz

Chemical & crystallographic visualization (Python)

Tools below span high-quality rendering, interactive model building, and crystallographic data workflows.

Pick-by-task (chemical/crystallographic)

GoalRecommended tools
High-quality static/animated rendersBeautiful Atoms (Blender), Ovito, PyMOL
Interactive 3D viewing (small molecules, crystals)Jmol/JSmol, NGLView, 3Dmol.js, ASE, MatterViz
Web embeds for teaching materialsJmol/JSmol

References & further reading

Plotting

Chemical & crystallographic visualization