A desktop application for scientific nonlinear curve fitting and publication-ready visualization. Load your Excel file, select a model, and get fitted Parameters with goodness-of-fit statistics — no coding required.
Kobs-Plotter is distributed as a command-line tool via uv. If you don't have uv installed, follow the official installation guide first — it takes under a minute.
Open your terminal (PowerShell on Windows) and run:
uv tool install https://github.com/pdadhikary/kobs_plotterThat's it. uv handles all dependencies automatically.
Use this only if you want to modify the source code.
- Download the latest release from the Releases page and extract the zip, or clone the repository:
git clone https://github.com/pdadhikary/kobs_plotter.git
cd kobs_plotter- Install the tool:
uv tool install .Once installed, launch the app from any terminal:
kobs-plotterClick Browse to select your Excel file. Once loaded, choose the sheet where your data lives, then select the X column (independent variable) and Y column (dependent variable) from the dropdowns.
You can preprocess your data before fitting using one-line NumPy expressions.
| Field | Description |
|---|---|
x' = |
Transformation applied to the X series |
y' = |
Transformation applied to the Y series |
Example: To fit a ln(y) vs x plot, leave x' = empty and set
y' = np.log(y).
Note: Use standard NumPy syntax here (e.g.
np.log(x),np.sqrt(x)). These fields accept any valid single-line NumPy expression.
Choose a predefined model from the dropdown (Exponential, Linear, etc.), or select Custom to define your own.
Parameters
A comma-separated list of parameter symbols (everything except x and y).
You can optionally set initial values using =:
A=np.min(y), B=np.max(y), k
Parameters without an initial value (like k above) default to 1.0.
Initial values can significantly impact fit quality — if the fit looks wrong,
try providing better starting estimates.
Formula
Define your model expression in standard mathematical notation:
B - A * exp(-k * x)
Important: Do not use NumPy functions here (no
np.exp,np.logetc.). Use plain mathematical functions —exp,log,sqrt,sin,cos— and the fitting engine handles the rest.
Customise the appearance of your output plot. All text fields support LaTeX expressions for mathematical symbols — see this LaTeX reference for syntax.
| Field | Description |
|---|---|
| Title | Title displayed above the plot |
| X axis | X axis label |
| Y axis | Y axis label |
| Point color | Color of the scatter data points (e.g. black, red, #FF5733) |
| Line color | Color of the fitted trendline |
| Line style | Style of the trendline (see below) |
Line styles:
| Value | Style |
|---|---|
- |
Solid |
-- |
Dashed |
-. |
Dash-dot |
: |
Dotted |
The following fields are required before plotting:
- File path and sheet name
- X and Y columns
- Parameters and formula
Once all required fields are filled, press Generate Plot. A plot window will open showing your data as scatter points with the fitted trendline overlaid.
The Parameters and Goodness of Fit sections in the main window display the results of the analysis — optimal parameter values, standard errors, R², adjusted R², RMSE, and more. These values can be selected and copied directly into another file.
You can modify any field at any time and press Generate Plot again — the plot window updates in place without needing to restart. This makes it easy to experiment with different models, transformations, or initial parameter values without losing your other settings.
| Library | Purpose |
|---|---|
| PySide6 | GUI framework |
| NumPy | Numerical operations and data transforms |
| Pandas | Excel file loading |
| SciPy | Curve fitting and statistics |
| Matplotlib | Plot rendering |
If you use Kobs-Plotter in your research, please cite it as:
Adhikary, P. D. (2026). Kobs-Plotter (Version 0.5.0) [Software]. GitHub. https://github.com/pdadhikary/kobs_plotter
@software{adhikary2025kobsplotter,
author = {Adhikary, Prachurya Deepta},
title = {Kobs-Plotter: A desktop application for nonlinear curve fitting of tabular data},
year = {2026},
publisher = {GitHub},
version = {0.5.0},
url = {https://github.com/pdadhikary/kobs_plotter}
}Note: Please replace
yearwith the year of the version you used, and add aversionfield with the specific release version from the Releases page.
The following libraries underpin the core computation — many journals require these to be cited alongside the software that uses them:
- NumPy — Harris, C.R., Millman, K.J., van der Walt, S.J. et al. Array programming with NumPy. Nature 585, 357–362 (2020). https://doi.org/10.1038/s41586-020-2649-2
- SciPy — Virtanen, P. et al. (2020). SciPy 1.0: Fundamental Algorithms for Scientific Computing in Python. Nature Methods, 17(3), 261–272. https://doi.org/10.1038/s41592-019-0686-2
- Matplotlib — J. D. Hunter, "Matplotlib: A 2D Graphics Environment", Computing in Science & Engineering, vol. 9, no. 3, pp. 90-95, 2007. https://doi.org/10.5281/zenodo.20654446
- Pandas — The pandas development team. Pandas-dev/pandas: Pandas. v3.0.3, Zenodo, 11 May 2026, https://doi.org/10.5281/zenodo.20127038.


