GPTPlot
AI-powered scientific plotting tool inspired by gnuplot
GPTPlot combines the simplicity of gnuplot's CLI with the power of Python's scientific stack (matplotlib, pandas, seaborn). Create publication-quality plots from the command line or interactive shell.
✨ Features
- 🚀 Fast CLI plotting - Generate plots without writing code
- 📊 Multiple plot types - Line, scatter, heatmap, quiver, surface, and more
- 🎨 Beautiful themes - Journal, presentation, and dark modes
- 📁 Smart data loading - Auto-detects CSV, DAT, TXT formats
- ⚙️ YAML configs - Reproducible plots via configuration files
- 🔢 Interactive mode - Explore data with an interactive shell
- 📈 Data analysis - Built-in correlation, fitting, and statistics
- 🤖 AI-Ready - Designed for future LLM integration
🔧 Installation
pip install gptplot
Requires Python 3.9+
🚀 Quick Start
Basic plotting
# Simple line plot
gptplot data.csv --x time --y voltage
# Auto-detect columns and plot type
gptplot data.csv
# Create scatter plot with custom styling
gptplot data.csv --type scatter --theme journal -o figure1
Multiple plot types
# Heatmap
gptplot grid.dat --x 1 --y 2 --z 3 --type heatmap --cmap viridis
# Histogram
gptplot data.csv --y values --type hist --bins 50
# Box plot
gptplot data.csv --x category --y measurement --type box
Configuration files
# Create plot_config.yaml
cat > plot_config.yaml << EOF
type: scatter
x: time
y: voltage
xlabel: Time (s)
ylabel: Voltage (V)
theme: journal
dpi: 300
EOF
# Use config
gptplot data.csv --config plot_config.yaml
Interactive mode
gptplot data.csv --interactive
# In the shell:
> plot x=time y=voltage type=line
> set theme dark
> save my_plot
> quit
📊 Examples
Data Science Workflow
# Correlation heatmap
gptplot data.csv --corr
# Statistical summary
gptplot data.csv --summary
# Polynomial fitting
gptplot data.csv --x time --y signal --fit poly2
Scientific Plotting
# Vector field (quiver plot)
gptplot spins.dat --no-header \
--x 1 --y 2 --u 4 --v 5 --z 6 \
--type quiver --cmap coolwarm
# 3D surface
gptplot grid.dat --x 1 --y 2 --z 3 \
--type surface --cmap viridis
🎨 Themes
Built-in professional themes:
--theme journal # Clean, publication-ready
--theme presentation # Large fonts, high contrast
--theme dark # Dark background
--theme notebook # Jupyter-style
📁 Supported Formats
- Input: CSV, DAT, TXT (auto-detected delimiters)
- Output: PNG, PDF, SVG
- Config: YAML, JSON
🛠️ Advanced Features
Custom output directory
gptplot data.csv -o myplot --output-dir figures/
File naming schemes
# Overwrite (default)
gptplot data.csv -o plot
# Timestamp (experiment tracking)
gptplot data.csv --save-naming timestamp -o experiment
# Numbered (multiple runs)
gptplot data.csv --save-naming numbered -o run
Column specification
# By name
gptplot data.csv --x time --y voltage
# By 1-based index
gptplot data.dat --no-header --x 1 --y 2
🤖 Future: AI Integration
GPTPlot is designed with future LLM integration in mind:
# Coming soon!
gptplot --llm "plot voltage vs time with a dark theme"
📖 Documentation
Full documentation available at: GitHub Repository
🤝 Contributing
Contributions welcome! Please feel free to submit a Pull Request.
📄 License
This project is licensed under the MIT License - see the LICENSE file for details.
🙏 Acknowledgements
Inspired by gnuplot's simplicity and powered by Python's scientific stack:
- matplotlib
- pandas
- seaborn
- numpy
- scipy
📬 Contact
- GitHub: @arnobmukherjee1988
- Email: arnobmukherjee1988@gmail.com
Made with ❤️ for scientists and data enthusiasts
Metadata
Release files for gptplot 0.1.4
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| gptplot-0.1.4.tar.gz | 49.6 kB | Without provenance | Details for gptplot-0.1.4.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| gptplot-0.1.4-py3-none-any.whl | Python 3 | none | any | Details for gptplot-0.1.4-py3-none-any.whl |
Total release size: 69.3 kB
Release files / gptplot-0.1.4.tar.gz
| Download URL | gptplot-0.1.4.tar.gz |
|---|---|
| Size | 49.6 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
b2e3c20e48a5abe7f16fd2d4378f38681d125e28efbd2360429a2f50020cae82
|
|
BLAKE2b-256 checksum How to use checksums |
34669666a06a7112e4b6ce5bbe519e5b78c62e6c7f6b0a962ef05323d7edea91
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.2
|
Release files / gptplot-0.1.4-py3-none-any.whl
| Download URL | gptplot-0.1.4-py3-none-any.whl |
|---|---|
| Size | 19.7 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
3e0c402547becde0a29ae1b668ab285086086434714aa202dfde4a5f8ac1b1da
|
|
BLAKE2b-256 checksum How to use checksums |
5ede0e90ec77e8f080268b3da1c1278864d8ff863264aef16174b20086065237
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.2
|
Security for gptplot 0.1.4
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.