Thank you for your review
0.00 Free
Email me when discounted: 

gnuplot is a portable command-line driven interactive datafile (text or binary) and function plotting utility for UNIX, IBM OS/2, MS Windows, DOS, Apple Mac, VMS, Atari and many other platforms. The software is copyrighted but freely distributed (i.e., you don't have to pay for it). It was originally intended as graphical program which would allow scientists and students to visualize mathematical functions and data. It does this job pretty well, and in addition it serves as non-interactive plotting engine for miscellaneous portable third-party applications, like Octave. Gnuplot is developed and supported since 1986, and

What's New

Version 5.0.3:
  • Open-ended iteration over data: plot for [i=1:*] datafile index i
  • New plot styles "with parallelaxes" and labeled contours.
  • New coordinate system (Degrees, Minutes, Seconds) "set xdata geographic".
  • The "fit" command can now handle functions with up to 12 variables, and can take into account errors on x as well as errors on dependent variables.


  • OS X 10.4 or later

Similar Software

Suggest other similar software
Create a collection and add  to it.
Like this app? Be the first to add it to a collection! Create a Collection by bringing together complementary apps that have a common theme or purpose, then share it and discover new collections!

gnuplot User Discussion

To leave a comment, you need to be logged in.
Sort by: Time | Smiles
4 1
RGB colors can include an alpha-channel for transparency. Secondary axes (x2, y2) can be locked to the primary axis via a mapping function. In the simplest case this guarantees that the primary and secondary axis ranges are identical. In the general case it allows you to define a non-linear axis, something that previously was only possible for the special case of log scaling. The "import" command attaches a user-defined function name to a function provided by an extenal shared object (i.e. a plugin library). Previous commands in the history list of an interactive session can be reexecuted by number. For example "history !5" will reexecute the command numbered 5 in the list reported by "history". Hypertext labels in the interactive terminals including web display using the HTML canvas or svg terminals. Potentially Incompatible Changes Update aquaterm to support version 5 custom dashtypes Backport new image bookkeeping from 5.1 to fix bugs #1607 #1703 #1709 Qt terminal: toggle plots on/off only on left-click Wholesale upgrade of old tkcanvas terminal (version 3.7 -> version 5.0) Earlier versions of gnuplot used the keyword "linetype" to mean both the color and the solid/dot/dash pattern of a line. Version 5 has separate keywords "linecolor" and "dashtype". You can use these keywords directly in a plot command or assign any desired color and a dash pattern to a linetype. The program now provides a default set of 8 linetypes, all solid. You can change these or add new linetypes as you please. You do not need to change the current terminal or terminal mode in order to use dashed lines. The handling of input data containing NaN, Inf, an inconsistent number of data columns, or other unexpected content has changed. See documentation under "missing" for examples and figures. Time coordinates are stored internally as the number of seconds relative to the standard unix epoch 1-Jan-1970. Earlier versions of gnuplot used a different epoch internally (1-Jan-2000). This change resolves inconsistencies introduced when time in seconds was generated externally. The epoch convention used by a particular gnuplot installation can be determined using the command 'print strftime("%F",0)'. Time is now stored to at least millisecond precision. The function 'timecolumn(N,"timeformat")' now has 2 parameters. Because the second parameter is not associated with any particular data axis, this allows using the 'timecolumn' function to read time data for reasons other than specifying the x or y coordinate. Use of time formats to generate axis tick labels is now controlled by "set {xy}tics time" rather than by "set {xy}data time". Thus prior calls to 'set xdata time' or 'set timefmt x' are unnecessary for either input or output. These older commands still work, but are deprecated. The "reverse" keyword (e.g. "set xrange [*:*] reverse") now affects only autoscaling. It has no effect on explicit ranges. "set xrange [0:1] reverse" is not the same as "set xrange [1:0]". Options to the "fit" command are now given by "set fit ..." rather than by setting environmental variables. Fit can handle up to MAX_NUM_VAR independent variables (currently 12). Variables other than the first two (x, y) have been dissociated from axis names. This means, for example, "set urange [U1:U2]" has no effect on fitting because "u" is not a fit variable. Use the command "set dummy ..." to assign names to fit variables 3 ... 12. The 'call' command is implemented by providing a set of variables ARGC, ARG0, ..., ARG9. ARG0 holds the name of the script file being executed. ARG1 to ARG9 are string variables and thus may either be referenced directly or expanded as macros, e.g. @ARG1. The older convention for referencing call parameters as tokens $0 ... $9 is deprecated. "unset xrange" (and other axis ranges) restores the default range. "unset terminal" restores the original terminal of the current session. Macro substitution is always enabled. I.e. "set/unset macros" has no effect. Fixed Reevaluate fill color for each polygon in data for "with filledcurves" Multiple wxt terminal font problems " />


Current Version (5.x)


Downloads 65,326
Version Downloads 1,748
License Free
Date 23 Apr 2016
Platform OS X / PPC 32 / Intel 32
Price Free
download install purchase purchase