/Curve-fitting-software

A collection of links to free and proprietary curve fitting software.

MIT LicenseMIT

Version License: MIT

Links to free and proprietary curve fitting software.

I recommend focusing on one program that allows the use of scripts. Mastery of one program takes time. After you master one program, learning the second will take less effort. Scripts facilitate reproducible work and, thereby, save time in the long run. Excellent free choices are Gnuplot, Grace, Matplotlib in Python, PyPlots in Julia from Python, Gadfly in Julia from **ggplot2** and **R**. Of these programs, Gnuplot enables the most exquisite control over the appearance of the output. Matplotlib is a close second to Gnuplot, but the syntax of its scripting language is baffling to beginners. You can save a lot of time by reading the beginning of the documentation and this paper by its originator, John Hunter. Most of these programs also do curve fitting. Curve fitting is also available in proprietary packages like Matlab, Mathematica, and JMP. To get the most out of the propriety packages, you have to run them with scripts. Plots made in high-level packages are good for rough drafts but can be made publication-quality after a lot of customization.

  • ArviZ, a high-level data visualization platform for Bayesian data analysis (BDA) with output from many BDA programs. Has Python and Julia ports.
  • boomer a pharmokinetic package by David Bourne Ph.D. OUHSC College of Pharmacy
  • fityk Now free. Nonlinear curve fitting for scientists. Available in MacPorts.
  • Gadfly.jl
  • ggplot2 Implements the grammar of graphics in R. See plotnine below for one of several Python implementations.
  • gnuplot wikipedia open source, free. Built by scientists.
  • Gnuplot main page Do not be put off by the 1990s webpage. The program deserves more love than it gets. Gnuplot provides more control over the output than any other program that I have tried. The Gnuplot website has a vast collection of examples and scripts. Gnuplot is available through many package managers. Emacs has a gnuplot-mode and org-mode uses Gnuplot to make plots. The Gnuplot scripting language supports iteration.
  • gnuplotting A source of inspiration for Gnuplot users.
  • Grace (open-source)
  • Grace (xmgrace or xmgr), wikipedia open source, free.
  • GraphPad $$$ Requries an annual license.
  • Hanami, a Clojure(Script) library and framework for creating interactive visualization applications based in Vega-Lite (VGL) and/or Vega (VG) specifications.
  • JMP $$$ GUI-driven program developed by the makers of SAS. Has excellent documentation.
  • HippoDraw (open-source)
  • IGOR pro $$
  • JASP, supports GUI-driven frequentist and Bayesian data analysis
  • Kalidagraph $$
  • Labplot, an easy-to-install and gui-driven, open-source curve-ftting application. Labplot YouTube channel with 23 short tutorial videos
  • Mathematica, $$$
  • Matlab $$$
  • Matplotlib the leading Python plotting package. Built by scientists. 30+ high-level plotting packages are built on top of it. The plots from the high level are great for quick plots but often not for publication. You will need to master matplotlib eventually. Julia uses matplotlib for its PyPlots package.
  • matplotlib, wikipedia
  • NumeRe , provides curve fitting, data analysis and numerical calculation in one package. Free, open-source, GLP'ed, executable for MS Windows only. Source code is available. Ports to other operating systems are welcomed.
  • Octave Open source analog of Matlab.
  • Origin $$$
  • OZ, a Clojure data visualization package that uses Vega and VegaLite.
  • plotnine , free, open source, ggplot2 for Python. Can make xkcd plots.
  • PyPlot.jl
  • QtGrace Grace based on the Qt-SDK by the qt-project. Available for Mac, Windows, and Linux.
  • Qtiplot (like Origin but cheaper)$
  • R project Open source, free, available in macports and home brew.
  • R wiki
  • Rstudio (Posit) , browser-like interface to R that supports plotting with R
  • SciDAVis,free
  • seaborn , high-level wrapper for Matplotlib in Python.
  • SigmaPlot $$$
  • Vega-lite , a high-level grammar of interactive graphics. Based on Javascript.
  • Veusz a scientific plotting program built with Python. Open-source, free. Like Matplotlib but with an attractive GUI.
  • VisualEnzymics, requires Igor Pro $$
  • WolframAlpha on-line access for plotting funcitons.
  • Xfig, a venerable vector drawing program with dated gui

Related sites

Funding Sources

NIH: R01 CA242845, R01 AI088011 NIH: P30 CA225520 (PI: R. Mannel); P20GM103640 and P30GM145423 (PI: A. West) OCAST HR20-002; PHF Team Science Grant

Version Changes Date
Version 0.2 Added badges and update table 2024 April 15