GnuDraw change log

Below a list of the changes in GnuDraw. The latest version is available as gnudraw7.zip. Versions 3, 4 and 5 are still available as gnudraw.zip, gnudraw4.zip, gnudraw5.zip, and gnudraw6.zip.

30/5/2021
Adjustment to DrawBivDensity(), such that an approximated bivariate histogram is also returned, and made the axes more consistent with the kernel plot (hopefully).
10/1/2018
Maintenance update, connecting closer to Ox 7.2, getting rid of minor bugs
9/12/2013
Updated to GnuDraw 7.0. This version delivers cleaner GnuPlot files, and is also compatible with the Ox7 version on OSX.
29/11/2012
Updated to GnuDraw 6.2. Implemented the option for scaling the output using either
  DrawAdjust(ADJ_PAPERSCALE, 60);       // Results in scaling y to 60%
  DrawAdjust(ADJ_PAPERSCALE, 80, 60);   // Results in scaling x to 80%, y to 60%
  DrawAdjust(ADJ_PAPERSCALE, .8, .6);   // Results in scaling x to 80%, y to 60%
Note that the first option is OxDraw compatible, the latter are GnuDraw-only. Also, GnuDraw now correctly reacts to
  DrawAdjust(ADJ_COLORMODEL, 0, 0);
by adjusting both the on-screen and EPS/PDF output to monochrome.
20/4/2012
Updated to GnuDraw 6.1. Implemented the option to turn 3D graphs around using ADJ_AREA_3D, in DrawAdjust(). The implementation might not fully match the implementation in OxDraw yet. Furthermore, cleaned some minor bugs in DrawHistogram() (shifting the bins half a bin-size to the left) and DrawQQ() (to join plots together automatically if requested).
1/3/2012
Upgrade to GnuDraw 6, internal streamlining, further improved compatibility with OxDraw.
2/8/2011
Improved compatibility with OxDraw.
21/5/2010
Updated GnuDraw internally; improved the look of fan-plots; added the option to created joined spectra plots; adapted the plotting of contour plots to be compatible with newer versions of GnuPlot.
24/3/2010
Adapted GnuDraw for changed location of GnuPlot on Windows; added compatibility with Ox on 64-bit Windows.
23/2/2010
Reinstated the GIF output format, see SaveDrawWindow(). Previously, GnuPlot was missing GIF capabilities, and at the time GIF had be replaced by PNG.
3/2/2010:
Update the installation instructions, such that they include Mac OS X as well.
9/12/2009:
Implemented DrawSymbol, solved a bug concerning a bar-plots in combination with a time axis, and extended the options to draw asymmetric bands/bars/hilo's with DrawZ.
9/2/2009
Made DrawAxis a bit more robust. At the same time, changed the default width of a line as used through SetDraw(SET_LINE, ...) to 10, which is more compatible with OxMetrics.
4/2/2009
Added the option to plot connecting arrows through DrawAdjust(ADJ_COLOR, -2). A negative color specification will (intend to) change the last line plotted into a sequence of arrows. Try e.g. Draw(0, rann(1, 5)); // Draw some data DrawAdjust(ADJ_COLOR, -3); // Adjust linetype to color 3, vectors Also changed the definition of DrawAdjust(ADJ_AREA_P, ...) to be closer in line with OxMetrics; now the width and height of the area are specified.
13/12/2008
Corrected a bug in DrawZ() when using the ZMODE_BAR mode of plotting.
9/12/2008
Added the option for colour/monochrome plots with the EpsLaTeX output in SaveDrawWindow().
24/9/2008
Added a function DrawCdf() for plotting a cdf together with a set of quantiles, possibly indicating the true parameter values as well. See also the example in drawcdf.ox.
21/9/2008
Corrected an error in DrawBivDensity() which resulted in bivariate density plots to come out with the plot oriented in the wrong direction (even though the axes were correct).
2/9/2008
Added output option for EPSLaTeX, using SaveDrawWindow("mygraph.etex").
4/7/2008
Added some further flexibility to DrawAdjust(ADJ_CNTRPARAM, ...) to allow more precise control over the number and level of the contours.
In the mean time, corrected an error in DrawBivDensity(), which erroneously was only able to show one bivariate plot per call.
7/4/2008
Updated the DrawZ function to skip plotting a symbol with the ZMODE_BAR choice (as it only confuscated plot), and to allow a choice of labelling. Furthermore, the color of the Z-bars or bands is taken as the original line colour plus one, and an error relating to the choice of index was corrected.
By default, the Z-label is added to the label of the most recent line, as in 'X x S'. Alternatively, by changing the default with a SetDraw(SET_LABZDRAW, FALSE) call, a separate 'S' label is added to the legend. All of this change was instigated by the sharp eye of James Davidson, who noticed some odd behaviour.
3/3/2008
Minor update to GnuDraw, to implement automatic resizing of fonts again as in older versions of GnuDraw. Also, the library densest is now imported instead of included, allowing other parts of user programs to use the same library as well.

14/1/2008
Minor further update to GnuDraw, to get some smaller bugs out of the update. Monochrome graphs and scatter plots did not work exactly as planned on with GnuPlot on Windows. Thanks to James Davidson for noticing.
10/1/2008
Major update to Gnudraw version 5.1. This update includes Note that the advanced options of this version of GnuDraw require GnuPlot version 4.22 or later; download this from SourceForge.
5/9/2007
Updated DrawLegend(), DrawAdjust() and SetDraw() to implement more options regarding the placing/hiding the legend, or showing a box around it.
23/8/2007
Updated GnuDraw; when a matrix mX was plotted which contained a row of only missings, subsequent plots did not appear by accident.
10/7/2007
Corrected an error plotting 15-minutes data using DrawTMatrix(0, vY, "15 minutes data", -9, 30, 4) (thanks to Jerome Lahaye for notifying me).
25/6/2007
Adapted the labels of a quarterly time series plot, correcting an error. Also, made sure that a SaveDrawWindow("graphs/myfile.eps") command for creating an EPS file, results in the EPS file being written in the graphs directory instead of in the current directory (thanks to Arjen Siegmann, for noting this Windows-only problem).
6/6/2007
Corrected an error in the handling of missings in DrawAcf(). Originally, only the last continuous stretch of observations without missings was used as input; now all non-missings are used in computing the ACF, as in done in OxDraw.
24/5/2007
Moved over to GnuDraw 5.0, with major internal maintenance, and a number of new options. These include
  • The possibility of drawing a fan-plot around time-series data using DrawZ(vZ, ZMODE_FAN)
  • More robust handling of missings
  • Simpler plotting of filled regions using DrawAdjust(ADJ_FILLCURVE, ...), see also the tips
  • Got rid of an error concerning the drawing of arrows (thanks to M. Jarocinski)
Note that the advanced options of this version of GnuDraw require GnuPlot version 4.2 or later; download this from SourceForge.
7/4/2007
Adapted minor quirks in DrawZ, among which the possibility to specify the line type for error bands in the plot.
25/1/2007
Added symbol type PL_DOT for GnuDraw, for easily drawing tiny dots instead of full-size symbols.
5/1/2007
Internally changed the way of handling missings in plots, which got rid of an error in DrawZ(), spotted by James Davidson.
12/11/2006
Updated the installation instructions to refer fully to Ox 4.00.
27/10/2006
Got rid of a tiny bug with DrawZ() and ZMODE_BAR.
21/9/2006
Got rid of a tiny bug hampering use of GnuDraw in OxGauss in special situations.
7/9/2006
As in OxDraw, now also GnuDraw leaves a gap in a graph when missing values are encountered. Originally, GnuDraw would simply interpolate the missing observations.

Moreover, an error in a combination of a time series plot and a change of the y-range was corrected

4/9/2006
For Windows users, the mouse coordinates appearing in the lower left corner of a plot, are gone. Apparently they were rather annoying.
4/9/2006
Corrected some errors in setting ranges with time series data. The preferred method of adapting the area of a time series plot is now to use
  DrawXMatrix(0, mY, "y", vDate, "");
  DrawAdjust(ADJ_AXISSCALE, AXIS_DATE);
  DrawAdjust(ADJ_AREA_X, 0, min(vDate), max(vDate));
using the date-values on the axis.
16/8/2006
Added compatibility with Ox 4 concerning time series plots; now the combination of
  DrawXMatrix(0, mY, "y", vDate, "");
  DrawAdjust(ADJ_AXISSCALE, AXIS_DATE);
also leads to a time series plot instead of the (GnuDraw only)
  DrawTMatrix(0, mY, "y", vDate, 0, 0);
This version, GnuDraw 4.5, works with Ox 4.02 or later; for compatibility with Ox 3.40 you have to comment in the routine timeofday() at the beginning of packages/gnudraw/gnudraw.ox.
18/7/2006
As version 4 of Ox is installed in a different directory, searching for the GnuPlot executable didn't always give good results; thanks to Beate Schirwitz.
15/6/2006
The DrawLine function could choke when the indices were 1 x 1 matrices instead of true doubles; thanks to Arjen Siegmann.
02/5/2006
Not really a change, but it appears that GnuDraw works fine with Ox 4.02; with the original download of Ox 4.00 an error could occur concerning the bug in the getenv() function. Please upgrade Ox if you encounter problems.
18/1/2006
Got rid of a bug in DrawMatrix, refusing to make a plot when either dXfirst or dXstep was a 1 x 1 matrix. Thanks to C. Bellemare for pointing out the issue.
6/12/2005
Large internal revision of GnuDraw, leading to extended possibilities especially in the plotting of intraday data, see DrawTMatrix.
Furthermore, when putting multiple graphs together in one window, the fontsize gets automatically scaled down, which should improve readability of the labels.
The installation now also contains a .tool file for handling GnuDraw output with OxEdit.
23/8/2005
Streamlining for inclusion into TSMod, only cosmetic changes.
5/7/2005
Cleaning out a few small typos concerning the placement of the legend using DrawLegend().
13/6/2005
Includes a series of short tips & tricks, with some advanced usage of GnuDraw.
12/4/2005
After a hint from Bernhard Br�mmer I got rid on an error in creating arrows, and centering labels. This version also intends to show the dos-prompt on Windows machines minimized.
30/3/2005:
DrawAdjust now includes ADJ_AREA_Z, and also the optional grow parameter has been implemented as in OxDraw.
10/3/2005
After a hint of Toomas Hinnosaar, GnuDraw on Windows now no longer displays a 'press a key' window. Furthermore, GnuDraw is able to find GnuPlot either in the program files\gnuplot\bin directory (the standard location if installed from SourceForge), in the TSMod directory, or indicated by an environment variable GNUPLOTEXEC.

The code for making PNG graphs changed slightly, to adapt for apparent inconsistencies between GnuPlot for Windows and Linux.

26/2/2005
Made GnuDraw search with more detail the standard installation location of GnuPlot. If the version from SourceForge is installed in the Program Files directory in windows, GnuDraw should find it automatically.
26/11/2004
Changed the installation instructions to link to Ox 3.40, the new website, and include the instructions of Frank Schmid for getting GnuDraw to work with Windows XP.
3/11/2004
Allow placement of a label using the DrawText command for time series data.
7/10/2004
Adjusted the saving of PNG files to correspond with the new setup of Gnuplot V4.
26/7/2004
Added the possibility to change symbol sizes and types using DrawAdjust or the SET_SYMBOL option of SetDraw.
26/6/2004
Added the possibility to draw index plots in DrawMatrix, DrawTMatrix and DrawXMatrix, by specifying symbol type 3.
4/3/2004
Added an option ADJ_AXISFORMAT to DrawAdjust in order to change the format of the x-, y- or z-axis. For instance, the format "$%2.0f" would give integers prepended with the $ sign, or "%.1P pi" would give "1.5 pi".
17/2/2004
Updated GnuDraw to version 4. The main difference is that now no changes in the path or other environment variables are needed, if GnuDraw is installed jointly with TSMod of James Davidson. As TSMod includes GnuPlot, the (windows) executable of GnuPlot can easily be found. On Unix, there has never been much of a problem with the installation.
2/2/2004
Adjusted the method to show graphs on screen on W2K
23/1/2004
Corrected a small bug in SaveDrawWindow(), with help from Paulo Soares.
4/12/2003
Removed a typo in DrawAdjust(ADJ_AXISSCALE, AXIS_LOG, ...).
26/11/2003
Removed an error involving pathnames on Windows 95/98, thanks to Arjen Siegmann.
16/9/2003
Added OxGauss to the GnuDraw manual; adapted the gnugauss.prg example accordingly.
28/7/2003
Skipped inclusion of pgraph_gnu, as it is no longer needed; Ox itself runs perfectly well using GnuDraw, when calling it using oxl -g -dGNUDRAW myprogram.src.

Corrected an error concerning the usage of errorbars in conjunction with time series data, with thanks to James Davidson for pointing out the problem.

1/7/2003
Included a #pragma arraybase for better compatibility with OxGauss.
4/6/2003
Using a neater way of importing the GnuDraw code internally, leading to less trouble when GnuDraw is imported in multiple files.
30/4/2003
Implemented option ADJ_CNTRPARAM in DrawAdjust to control the number of contour lines in a contour plot. Also allowed for using Julian dates in DrawTMatrix.
14/4/2003
Implemented option in SaveDrawWindow to show a graph under Unix and change the default canvas size. Also implemented DrawPLine and three-dimensional DrawLine.
28/3/2003
Implemented option in DrawXYZ to adjust the colour. Also allowed the plotting of an XYZ plot with only one line or column, without using a grid.
14/3/2003
Introduced option in DrawAdjust to turn off all warning messages. Also improved the borders in the DrawZ fan plot.
11/3/2003
Introduced option in DrawText to place text in a graphing window using coordinates running from (0,0) to (1,1), which works nicely to put label in e.g. the top right corner irrespective of the scaling of the axes.
24/2/2003
Implemented scaling AXIS_SCALED in DrawAdjust(ADJ_AXISSCALE, ...). Note that manual adjustment of the x- and y-ranges might be necessary. DrawAdjust after a joined density plot.
20/2/2003
Removed small error in use of DrawAdjust after a joined density plot.
16/2/2003
Implemented option ADJ_AXISSCALE in DrawAdjust to allow the scale of the graph to be adapted. Notice that by default the y-scale is changed, but GnuDraw implements an extra option to change (also) the x-axis. The scaling AXIS_SCALED is not yet implemented.
16/1/2003
Added option in DrawAcf for parameter fBar to take on the value of 2, leading to a line plot for the ACF, instead of bars or indices.
19/12/2002
Implemented a rough version of bivariate histogram plotting using DrawBivDensity. Created a separate library packages/gnudraw/lib/libbiv.ox to create bivariate density plots using OxDraw, see also packages/gnudraw/samples/drawbiv1.ox. At the same time, the installation instructions have been updated to include more details for WinNT/W2K/WinXP, thanks to R.Lewney.
5/12/2002
Removed monochrome png support as GnuPlot no longer supports it. Implemented DrawAxis on request.
5/11/2002
Added support for using GnuPlot from OxGauss. See sample file packages/gnudraw/samples/gnugauss.prg for an example.
10/9/2002
Adjusted typo in listing of tics on x-axis with time-series data. It's not perfect, but better than it used to be.
4/9/2002
Added support for XFig output, which can be edited on screen under X-Windows using the XFig editor.
17/6/2002
Robustified DrawAcf against missing values.
10/6/2002
Improved drawing of quarterly data, with better spacing and labels in format "Y:quarter" on X-axis.
30/5/2002
A recently introduced error in the plb2scr.bat batch file made the graph disappear instanteneously, instead of staying on the screen until a keypress.
29/5/2002
With a hint of T. Matsumoto, took out a typo which affected the use of plots with points instead of lines.
13/5/2002
Adjusted the DrawZ routine, as there was a small typo.
7/5/2002
Adjusted the DrawTMatrix routine, to get a nicer set of labels on the X-axis.
4/3/2002
Adjusted the DrawLine command, for compatibility with the G@RCH package of Laurent and Peters.
27/2/02
Included area argument in DrawAdjust(ADJ_AREA...), as introduced in Ox 3.00
29/01/02
Corrected a typo in DrawDensity, concerning the plotting of the CDF of a data set.
21/01/02
Implemented DrawAcf with an option to join ACFs in one graphing window, see packages/gnudraw/samples/drawacf.ox.
27/11/01
Inserted the possibility to create animated graphs using named windows through SetDrawWindow. See packages/gnudraw/samples/ar1.ox for an example. Numerous other minor changes.
21/9/01
Adapted the definition of DrawDensity, such that it is in line with the new definition in Ox 3.00. Included the DrawHistogram routine in GnuDraw.
28/08/01
Introduced the usage of systemcall() in GnuDraw, such that compatibility with Ox 3.00 is regained.
16/07/01
Changed the documentation into the style of Ox 3.00. Adapted the directory structure of the package, such that a change of the OXPATH variable is no longer necessary.
07/05/01
Added the plotting of the density of a sample from an importance sampler, where every drawing has a specific weight. An example is given in gnudraw/samples/drawdensis.ox.
04/04/01
Corrected a small error in DrawXYZ. Changed the adjustment of the legend.
09/02/01
Added option ADJ_AREA_P in DrawAdjust to specify the pixel coordinates of an area.
05/02/01
Changed the generating of LaTeX output to PSLaTeX output. This gives smaller file sizes, less memory problems, and cleaner graphs.
15/01/01
A range of small improvements and corrections. They include the addition of an extra adjustment option in DrawAdjust to turn off all plotting, only saving the files to disk.
28/11/00
DrawCorrelogram now plots separate graphs, if called with a multi-row argument (as in OxDraw).
06/11/00
Included support for PNG output, to be used instead of GIF output.
Included an option ADJ_AXES2ND in DrawAdjust to plot a series against the second x- or y-axes.
30/10/00
Small improvement resetting the alignment after use of ADJ_ALIGN.
10/10/00
Improved checking on opening of the output file; if file cannot be opened, neater error is given.
22/09/00
Added functionality of choosing number of bins in histogram plotting with DrawDensity.
18/09/00
Removed some minor typos in DrawXMatrix, and in some batch files for use under SunOS.
01/09/00
Included a possibility to change the alignment of plots in the drawing window, in order to get one row or one column of plots. See DrawAdjust.
09/08/00
Typo in script files in plb2gif corrected.
28/07/00
Typo in script files in packages/gnudraw/bin/plb2* corrected.
25/07/00
Problem with execgnu.bat (see 24/7/00) solved; placing execgnu.bat in path is sufficient
24/7/00
On windows, execgnu.bat needs to be in the first directory in the path statement (Change in library incexec.dll needed).
21/07/00
Package published on the web