⚠️ Experimental Development BranchThis branch is under active development and may contain incomplete features, breaking changes, or significant bugs.
Latest Stable Release
https://github.com/MShirazAhmad/PhysPlot/tree/PhysPlot-v2.0.0
PhysPlot is a scientific plotting and workflow automation application for researchers, engineers, and students who require fast, reproducible, publication-quality figures without relying on large commercial software packages.
Originally conceived in 2019 following a suggestion from Dr. Muhammad Sabieh Anwar, PhysPlot has evolved into a modular scientific plotting platform supporting graphical workflows, reusable plotting protocols, and automated batch processing.
The workflow is intentionally simple:
Load Data
↓
Assign Column Roles
↓
Apply Transformations
↓
Generate Publication-Quality Plot
↓
Save Workflow
↓
Reuse or Run in Bulk
- Scientific plotting desktop application built with PyQt
- Publication-quality figure generation
- Spreadsheet-style data editor
- CSV, TXT, Excel, Nanoindentation, and DataFrame support
- Dynamic data loaders
- Dynamic mathematical transformation modules
- Modular plotting architecture
- Figure templates
- Reusable workflow protocols
- Automated batch processing
- Headless command-line execution
- Python API
- FigureForge-powered figure editor
- Plugin-friendly architecture
Precompiled releases are available for both macOS and Windows.
Download the latest release from:
https://github.com/MShirazAhmad/PhysPlot/releases
python -m pip install python-physplotLaunch the graphical application:
physplot-guiLaunch the command-line interface:
physplot --versionClone the repository:
git clone https://github.com/MShirazAhmad/PhysPlot.git
cd PhysPlotCreate a virtual environment:
/opt/homebrew/opt/python@3.12/bin/python3.12 -m venv .venv
source .venv/bin/activateVerify Python:
python --versionExpected output:
Python 3.12.x
Upgrade pip and install the project requirements:
python -m pip install --upgrade pip
python -m pip install -r requirements.txtLaunch PhysPlot:
physplot-guiAlternatively:
python -m physplot_guiPhysPlot has been tested with:
| Component | Version |
|---|---|
| Python | 3.12.x (Homebrew) |
| Operating System | macOS (Apple Silicon) |
The tested package versions are maintained in requirements.txt.
Installing dependencies directly from requirements.txt is recommended to ensure compatibility and reproducible behavior.
Complete project documentation is available online.
-
Documentation https://physplot.readthedocs.io/
-
GitHub Repository https://github.com/MShirazAhmad/PhysPlot
-
Issue Tracker https://github.com/MShirazAhmad/PhysPlot/issues
Additional project documentation:
- Maintainer Project Guide
- Contributing Guide
- Trademark and Branding
The graphical interface follows a table-first workflow.
- Import Data
- Apply Mathematical Transformations
- Select Plot Module
- Apply Figure Template
- Generate Plot
- Edit Figure
- Export Figure
Create, edit, save, and reuse Python workflow protocols.
Execute saved workflows on entire folders for automated batch processing.
PhysPlot can also be used directly from Python.
from physplot import PhysPlot
pp = PhysPlot()
pp.load("data.csv")
pp.set_roles(
x="Time",
y="Voltage"
)
fig = pp.plot_with_module(
"basic",
"scatter"
)Show version:
physplot --versionRun a workflow:
physplot run-workflow workflow.py \
--input data.csv \
--output outputs/runRun batch processing:
physplot run-bulk workflow.py \
--input-folder data \
--output-folder outputs/batch- CSV
- TXT
- Microsoft Excel
- Nanoindentation datasets
- Pandas DataFrames
PhysPlot source code is licensed under the PolyForm Noncommercial License 1.0.0.
You may:
- Study the source code
- Fork the repository
- Modify the software for noncommercial purposes
- Submit improvements through pull requests
Commercial use requires prior written permission from the project originator.
Documentation, tutorials, screenshots, and educational material are licensed under the Creative Commons Attribution–NonCommercial 4.0 International (CC BY-NC 4.0) unless otherwise noted.
The PhysPlot name, logo, application icon, GUI branding, and visual identity remain reserved by the project originator. Modified versions must not be represented as official PhysPlot releases.
For contribution policies and branding guidelines, see:
CONTRIBUTING.mdTRADEMARK.md
