# Differences from version 4

Some changes introduced in version 5 may cause certain scripts written for earlier versions of gnuplot to behave differently.

* Revised handling of input data containing NaN, inconsistent number of data columns, or other unexpected content. See Note under missing (p. ) 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 whenever 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 new 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. This functionality replaces the command sequence set xdata time; set timefmt `"`timeformat`"`. It allows combining time data read from multiple files with different formats within a single plot.

* The reverse keyword of the set [axis]range command affects only autoscaling. It does not invert or otherwise alter the meaning of a command such as set xrange [0:1]. If you want to reverse the direction of the x axis in such a case, say instead set xrange [1:0].

* 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.

* The optional bandwidth for the kernel density smoothing option is taken from a keyword rather than a data column. See smooth kdensity (p. ).