Loading Plotivy
Preparing your workspace and data.
Loading Plotivy
Preparing your workspace and data.
Publication-ready visualizations for materials characterization, mechanical testing, thermal analysis, and microstructural studies. Every chart includes complete Python code you can copy and run.
Materials science sits at the intersection of physics, chemistry, and engineering - and its figures reflect that breadth. From XRD patterns confirming crystal phases to Ashby plots guiding material selection, each visualization type conveys specific characterization data. The code examples below follow formatting standards for Acta Materialia, Advanced Materials, and similar journals, producing figures at 300+ DPI with correct unit labeling and professional styling.
Materials chart selection
Materials figures usually communicate structure, properties, or morphology. Start by identifying which measurement controls the claim, then choose the chart that preserves the physical units and uncertainty needed for peer review.
Use XRD patterns, phase diagrams, and peak fitting when crystal structure or phase composition is the result.
Use stress-strain, creep, hardness, TGA, and DSC curves when properties change with load, time, or temperature.
Use AFM, SEM, and microstructure maps when morphology, roughness, or particle-size distribution matters.
Least-squares fitting, peak deconvolution, and model selection in Python.
Best practices for presenting characterization data in publications.
Band structures, phase diagrams, I-V curves, and fundamental physics figures.
Spectra plots, titration curves, voltammograms, and analytical chemistry figures.
Read your diffractometer output file (typically .xy, .csv, or .raw format) into a pandas DataFrame, then plot intensity versus 2-theta using matplotlib. Add reference peak positions from ICDD/PDF cards as vertical lines or tick marks. For multi-phase samples, offset patterns vertically and label each phase. See our XRD pattern guide for complete code.
A Tauc plot determines the optical bandgap of a semiconductor by plotting (alpha*h*nu)^n versus photon energy (h*nu), where alpha is the absorption coefficient and n depends on the transition type (n=2 for direct allowed, n=1/2 for indirect allowed). Extrapolate the linear region to the x-axis to read off the bandgap energy. Python code requires converting wavelength to eV and computing the Tauc function from absorbance data.
Plot individual curves with light, semi-transparent lines and overlay the average curve in a bold color. Report key mechanical properties (elastic modulus, yield strength, UTS, elongation) in an inset table or annotation. Use consistent axis ranges across comparison groups. For cyclic loading, clearly indicate loading and unloading paths with arrows.
Matplotlib's plot_surface and plot_wireframe functions handle most AFM topography rendering. For higher-quality 3D views, Plotly provides interactive rotation and zooming. Import AFM data as a 2D NumPy array (from Gwyddion export, Nanoscope ASCII, or similar), then create a meshgrid for the x-y coordinates. Add a colorbar indicating height values in nanometers.