Graph Software for Scientists and Engineers

Revision History (Archives, 2009)

6 December, 2009
Version 2.2.7.6

  • You can now abort a Crop, Delete Points in Box, or Set Limits to Min/Max in Box command by pressing the Escape key before releasing the mouse button.
     
  • The macro Shell command now correctly handles command parameters that include quotation marks (which might be needed for commands containing spaces). For example, in the following command the additional quotes are necessary because of the spaces in the filename plus the commandline parameter:
     
    Shell(""c:\Program Files\My Application\test.bat" param1",1)
     
    but would have resulted in the command being interpreted as a 0-length string in previous versions because of the successive quotes.
     
  • Most dialog boxes that expect numeric input will now accept equations (prefaced by an equals sign). These equations may include text placeholders. For example on the Reference Lines dialog if you select Y= and "=$MEAN(1)" for the At Value entry, you will get a horizontal reference line at the mean Y value for the 1st curve.
     
    The principal difference between these text boxes and text boxes that accept character strings (titles, labels, etc.) is that the equation is evaluated immediately and is not preserved.
     
  • Added an option to the Fill Between Curves command on the Options menu to fill the area below a curve, only for those points less than or equal to some reference Y value.
     
  • The $YMIN, $YMAX, $ZMIN, and $ZMAX text placeholders may now include a range within which the min/max should be evaluated. For example $YMIN(2,1.6,2.4) is replaced by the minimum Y value of the 2nd curve between 1.6 < X < 2.4.
     
  • The RefLine macro/DDE command now accepts equations for all parameters. This is primarily useful for specifying the value, e.g.
     
    RefLine(1,1,0x00FF0000,30,=$YMAX(3),"Max value, curve 3")
     
  • Added code to correctly handle printing to PDF print drivers when the filename is specified using the FilePrint command. (Before this release, some print drivers produced a PostScript file in this case, others insisted on displaying the Save As dialog.) DPlot now includes code to produce the expected results when using the Adobe PDF, PDF995, docuPrinter, or PDFcamp drivers. (The Adobe PDF driver is distributed with Adobe Acrobat; the others are available from:
     

    This change is mostly useful when batch-converting a large number of files when you do not want to continuously respond to the normal Save As dialog.

    Please note: No precautions have been added for other PDF print drivers. Results with drivers not mentioned here will vary. If you have a pet PDF print driver that misbehaves with the FilePrint command and a specified filename (produces a PostScript file or insists on displaying the Save As dialog), let us know and it is possible we'll add code to work around this problem.
     

  • Added Request macro function to retrieve a dozen or so document-specific items from DPlot. The result of the Request function can then be used in subsequent macro commands. For example, you can request "ListPeaks" and then use that output as the text of a notation with the TextNote, TextNote3D or TextNoteEx commands.
     
  • Added several request items related to filenames that you can retrieve from DPlot using a DPlot_Request call using DPLOTLIB.DLL or the new Request macro command: filename, filetitle, fname, and path.
     
  • Bug fix: Ouch! The mean (and therefore the standard deviation report as well) shown by the List Peaks command was incorrect if a curve did not start at Y=0.
     
  • Bug fix: If the legend for a 2D bar chart was dragged outside the plot extents, the color blocks used in the legend were clipped.
     
  • Bug fix: In 2D views of random 3D points with contour lines, if a triangle edge had two points exactly equal to the contour value, no line was drawn.
     

18 November, 2009
Version 2.2.7.5

  • Added frame advance buttons to the Playback command.
     
  • For videos run with the Playback command, the filename, recording rate, first time, and zoom levels are now preserved from one session to the next rather than using default values (no selected file, recording rate=playback rate, zoom=100%, and first time=0.)
     
  • Modified the Move/Copy Curves command on the Edit menu and the corresponding MoveCurves macro/DDE command. If moving/copying to a new or empty document, the axis labels and scaling information (linear/log, number format, extents, etc.) are copied to that document. In addition, and whether the target document is new/empty or not, curve colors are preserved.
     
  • The initial view (thumbnails, icons, details, etc.) in the Open/Save dialogs is now preserved for Windows XP and later versions. In addition (for Windows XP only), added options to specify the initial sort order using the General command on the Options menu. (The reason for these settings is that the sort order can be set programmatically on XP, but seemingly not retrieved from those dialogs. For Vista and later versions the sort order is preserved by the OS, so these settings would be superfluous and are hidden and disabled.)
     
  • Streamlined the output of the Number of Points command on the Info menu. When all curves contain the same number of points, the output is now "All <M> curves contain <N> points.", rather than listing each curve separately.
     
  • Bug fix: DPlot might have crashed with an integer overflow error when using custom contour levels that were very small relative to the total range in contour levels.
     
  • Bug fix: Small non-zero custom contour levels might have been shown as 0 in the legend and/or in contour line labels.
     
  • Bug fix: Background color for point labels with 3D/4D data sets was not saved to DPlot files.
     
  • Bug fix: Window menu on 3D scatter plots was fouled up and did not include the list of open documents (that list was erroneously shown at the bottom of the View menu). In addition, the "Displayed values" entry in the status bar did not work correctly for scatter plots.
     

6 November, 2009
Version 2.2.7.3

  • Licensed version only: In addition to the prior moving average previously performed, the Moving Average plugin can produce a central or cumulative moving average. The plugin also gives the option (for prior and central averages) to produce (or not) averages at the tails (first N-1 points for a prior moving average, first and last (N-1)/2 points for a central average). For more information see the associated blog entry.
     
  • DPlot uses a different Windows routine to save bitmap images, with the result that you'll be able to save much larger images and experience fewer memory-related problems when working with multiple documents. For the nuts-and-bolts explanation: DPlot previously created bitmaps with calls to CreateCompatibleBitmap, which unbeknownst to the red-faced author uses your video card's memory. (Some device drivers may be smart enough to fall back to system memory if insufficient video memory is available, but most do not.) When saving large bitmap images you might have encountered "Insufficient memory for <width>w x <height>h bitmap." or a similar message for cropped images. In addition you might have run into problems when working with many documents, depending on how much available memory your video card has. DPlot now uses CreateDIBSection to create most bitmaps, which uses user mode memory. Redrawing may take a few milliseconds longer now, but bitmaps are only limited by your physical RAM and/or page file size, up to 2Gb.
     
  • Bug fix: An uninitialized data problem might have led to "Syntax error in function" messages for the Y=f(X) and similar commands with perfectly valid functions.
     
  • Bug fix: One more goof in the ManualScale command introduced with version 2.2.6.9 has been fixed. If you omitted either Y parameter, what should happen is DPlot uses the existing Y extent. But instead you might have received an error message concerning the Y extents being equal, or worse, completely nonsensical Y extents.
     

1 November, 2009
Version 2.2.7.0

  • The function parser will now accept the FORTRAN ** operator for exponentiation. Also added checks to ensure that you meant to use the Y=f(X) command rather than Y=f(X,Y1,Y2,...).
     
  • DPlot does a somewhat better job of centering contour line labels on the respective contour. Also, for output to other than metafiles, for opaque line labels DPlot gives a bit more white space at the beginning and end of the label, and less white space (which previously tended to overwrite other lines unnecessarily) at the top and bottom of the label.
     
  • Changed the physical length of the pattern used for patterned line styles, taking the line width into account. In previous versions the spaces between dashes and dots tended to close up with lines wider than about 0.04". If any line styles on an XY plot are non-solid, the largest line width is used to determine the pattern length for all patterned line styles.
     
  • Licensed version only: "More Curve Fits" plugin now includes the equation form y=A+B*exp((C*x)^D). Depending on your input, this form may take several hundred iterations to converge to the best solution.
     
  • Probability scales are now clipped at 1.E-5% and 99.99999%. Previous versions were limited to 0.001 - 99.999%.
     
  • Added an option for polar plots to display angles as 0 to +180 degrees (or +π, depending on number-formatting options) rather than the default 0 to 360 degrees.
     
  • Bug fix: The new version 2.2.6.9 $Y text shortcut did not work correctly.
     
  • Bug fix: Starting with version 2.2.6.6, DPlot botched up the legend for XY plots if you set the "Maximum number of rows" entry to 1.
     
  • Bug fix: The Excel Add-In's XYZSurface and XYZScatter functions choked if the Excel selection had one or more leading blank rows.
     
  • Bug fix: Reference lines on 1D plots ignored the line width setting if antialiasing was turned on.
     
  • Bug fix: Version 2.2.6.9's change allowing equations as parameters in macro/DDE commands broke the ManualScale command for 3D views of 3D/4D data.
     

17 October, 2009
Version 2.2.6.9

  • Added $X(i,j) and $Y(i,j) text placeholders. When used, these placeholders are replaced by the j'th X or Y value of the i'th curve of an XY plot.
     
  • Many of the macro/DDE commands that accept numeric parameters will now accept equations, preceded by an equals sign. For example, in the command:
     
    [ManualScale(0,0,=CEIL($XMAX/100)*100,=CEIL($YMAX/10)*10)]
     
    the high X value is set to the smallest multiple of 100 that is greater than or equal to the maximum X value. Similarly, the high Y value is set to the smallest multiple of 10 that is greater than or equal to the maximum Y value.

     
  • For triangle plots, added an option for X+Y+Z=1. If checked then the range along each axis is 0-1. (In previous versions X+Y+Z=100, with a range along each axis of 0-100.)
     
  • Added a Hide command to the right-click menu for curves in an XY plot. Previously this functionality was only available within the legend of a plot. Curves hidden with this option may be made visible with the Hide Curves or Unhide All Curves commands on the View menu.
     
  • Changed the behavior of 3D scale factors. Whether set with the Contour Options or Scatter Plot Options dialogs, with a ContourScales macro/DDE command, or read from a DPlot file, if any scale factor is set to 0 then it will be reset to the value normally determined by the "Always auto-adjust scale factors on 3D plots" option of the General command on the Options menu, or forced to 1.0 if that option is not selected. This is primarily of use to programmers who want a fixed, known relationship between the physical distances along the X and Y axes, but who don't necessarily know the Z extents (at least not without a bit of extra work).
     
  • Changed the behavior of "Specify extents" vs. zooming. In this release if the "Specify extents" box is checked when you click OK on the Extents/Intervals/Size dialog box, all previous zooms are deleted. In previous versions zoom information was maintained, and that information was written to saved DPlot files. The trouble with doing that is there is not sufficient information in the DPlot file to tell which operation took place last, and DPlot always processed the zoom extents and used those even though you might have subsequently used "Specify extents".
     
  • Eliminated an annoyance. In previous versions if you had a mouse-activated point label and the "Show coordinates in popup window when mouse hovers over a data point" General option was checked, when hovering over a point you'd sometimes get the mouse-activated label, which 1/2 second later would disappear and be replaced with the popup window displaying the point coordinates. In this release that popup window will not be displayed if a mouse-activated point label is currently being displayed.
     
  • Added two new inverted triangle symbol types (28 and 284) that line up vertically with the non-inverted types 7 and 263. (As with symbols 7 and 263, symbol types 9 and 265 are placed such that the geometric center of the triangle is at the data point.)
     
  • When pasting 3 or 4 columns of data from the clipboard into a 3D/4D surface plot or scatter plot, DPlot will now accept dates and times. Previous versions were restricted to numbers.
     
  • Bug fix: The feature of showing a popup window displaying a data point's coordinates for randomly-spaced 3D data has always been broken unless the X and Y extents were relatively small. (The test performed for distance from a data point was in data space rather than pixels.)
     
  • Bug fix: Shadows for button-activated text notations were not drawn correctly on Vista systems. Those shadows are no longer drawn on Vista.
     

4 October, 2009
Version 2.2.6.8

  • In previous versions the ability to pan a 2D plot left/right/up/down using the keyboard arrow keys or by dragging the mouse was limited to plots that you had zoomed in on. This release removes that restriction. Also, panning with the mouse is now supported by DPlot Jr and DPlot Viewer, and for the full version and DPlot Jr panning with either the arrow keys or the mouse creates an Undo file.
     
  • Added Ab-An-Or (Albite, Anorthite, Orthoclase) layout to triangle plots.
     
  • Added an "Invert" button to the Hide Curves dialog, which toggles the visibility of all curves.
     
  • Bug fix: Undo files saved the checkbox options on the General Options dialog, but no other entries. So there was no way, for example, to "undo" changing the default decimal symbol or the maximum number of data points for which antialiasing would be applied.
     
  • Bug fix: 3D bar charts ignored the "Custom levels" contour setting, other than the low and high values. Other levels were distributed evenly between the low and high.
     
  • Bug fix: When pasting data from the Clipboard, completely blank columns were added as new curves with 0 points. This might have led to, at best, confusing subsequent operations. In this version after pasting Clipboard data DPlot checks for and eliminates new curves with 0 points.
     
  • Bug fix: The Reference Lines dialog might have rounded off the reference X/Y value simply by opening the dialog and clicking OK. This was particularly a problem with calendar dates and times where the reference value included fractional seconds, but the time formatting string used on the corresponding axis did not.
     
  • Bug fix: Starting with version 2.2.6.6, 1D DPlot files with "Specify extents" checked did not properly save those extents. Subsequent attempts to open those files usually resulted in DPlot crashing. For these files saved with versions 2.2.6.6 or 2.2.6.7, DPlot will now turn off "Specify extents" and otherwise process the file properly. If you then re-enter those extents and re-save the file, all will be well.
     

12 September, 2009
Version 2.2.6.7

  • Changed the behavior of zooming out with the mouse wheel. In previous versions using the mouse wheel zoomed out by a factor of 2. In this version zooming out with the mouse wheel is equivalent to clicking the "Zoom out" button on the toolbar, which will restore the previous zoom extents. (The 2x factor in previous versions was only approximate. DPlot would adjust the plot extents to give "nice" tick mark intervals. In many cases zooming in, then zooming out with the mouse wheel resulted in different extents than you started with.)
     
  • Bug fix: If the date format for calendar dates (set with the Number Format menu command) did not match the "Assume input dates are of the form d/m/y" setting under Options>General, DPlot fouled up dates in text boxes. This was especially evident on the Extents/Intervals/Size dialog box: on entry dates would be displayed using the selected date format, but upon clicking OK were interpreted using the Options>General setting. So the month and day might have been transposed even though the dates had not been edited in any way.
     
  • Bug fix: For 3D views of random 3D points, symbols drawn at data points might have been drawn when they should have been hidden by other parts of the surface. This problem sometimes occurred when symbols overlapped each other.
     
  • Bug fix: Zooming in with the mouse wheel or with CTRL+<number> did not work properly if the lower extent was a negative number. In that case the new low extent would generally be 0 or close to it, regardless of the previous value.
     
  • Bug fix: If you used the "Zoom out" button on the toolbar to zoom all the way out, DPlot no longer received mouse wheel messages until you performed some action that restored the focus to the main window.
     
  • Bug fix: Recent "fix" to the "Delete Points in Box" command did not work with monotonically increasing X values if the left side of the box was positioned before the start of the data.
     
  • Bug fix: Ugh. Starting with version 2.2.6.5, Generate menu plugins distributed with DPlot that resulted in a dialog box being displayed were amended such that the description included a trailing ellipsis, to make those menu commands adhere to Windows guidelines. Unfortunately this broke the RunPlugin macro/DDE command, unless the "Plugin Description" argument included that trailing ellipsis.
     
  • Bug fix: Amended a fix in Version 2.1.6.7 for very long line segments on XY plots (made very long by zooming in or setting the plot extents to a small fraction of the data extents). In some cases those line segments might have had an incorrect slope because the scaled endpoint coordinates were truncated to fit in a 2-byte integer. This release handles those line segments better on XP and Vista systems.
     

6 September, 2009
Version 2.2.6.6

  • Improved the efficiency of the "Delete Points in Box" command on the Edit menu. The improvement will especially be noticeable for large (> 100K points or so) data sets. If a plot contains any point labels DPlot will continue to use the previous, slower routine.
     
  • Amended Legend macro/DDE command to accept a $LEGEND(n) placeholder, which will be replaced with the legend for curve n. This might be useful when operating on an existing curve in some way, then appending a description of the operation to the legend of the source curve.
     
  • For polar plots, if the start point of a line segment has a radius less than the low value specified with Extents/Intervals/Size then that endpoint is now drawn at the center of the plot. In previous versions that line segment would not be drawn.
     
  • For developer's of Generate plugins, amended the Generate menu based on subfolders below the \plugins\generate folder. If plugins are found below that folder, DPlot will add a sub-menu with the folder name, and those plugins will be added to that sub-menu rather than the Generate menu. If you write a plugin you believe would be useful to others, please let me know. Credit will of course be given where it is due (or not: it is up to you).
     
  • Removed the limitation on the number of files processed by a ForFilesIn macro loop. Previously there was a limit of 256 files.
     
  • Added the function DPlot_AlwaysActivate to DPLOTLIB.DLL. Normally, calls to DPlot_Command, DPlot_Plot, etc. cause DPLOT.EXE to be activated. Use DPlot_AlwaysActivate(0) if your application produces plots without user interaction and it is inconvenient and/or annoying for DPlot to be activated with each new plot. This command has no effect if DPlot is hidden.
     
  • Bug fix: In the Y=f(X) and similar functions, in some cases DPlot would add an additional point due to a precision limitation. For example if the From X value was 0, the To X value was 0.049999, and the interval was 1.E-6, DPlot would find that 49999 intervals starting at 0 was equal to, roughly, 0.049999 - 6.9E-18: less than 0.049999, so a point was added. This version takes into account the inherent error in double precision numbers and (in this case) produces 50K points from 0 to 0.049999.
     
  • Bug fix: A small precision error in comparing data extents to extents specified with the Extents/Intervals/Size command with 3D views of random 3D/4D points might have resulted in triangles being omitted that should have been drawn.
     
  • Bug fix: In some cases if the number of legend entries was equal to some multiple of the "Maximum number of rows" entry for XY plots, you would get an additional unwanted column (all white space) in the legend.
     

13 August, 2009
Version 2.2.6.5

  • Corrected a few mostly cosmetic problems with menu commands for "Generate" plugins. Ellipses were not shown for commands that caused a dialog box to be displayed. Generate plugin menu commands were not disabled if a plot was not open.
     
  • Bug fix: The "Delete Points in Box" command on the Edit menu stopped short; it would not delete the last point in any curve.
     
  • Bug fix: It was possible to crash DPlot by using the mouse wheel to zoom out to exceptionally large numbers (> ~2.E+308 on a linear scale, difference in logarithms of the extents greater than 308 on a logarithmic scale.)
     
  • Bug fix: When zooming in with the mouse wheel, roundoff error forced the extents on a logarithmic X axis to be 2 and sometimes 3 log cycles.
     
  • Bug fix: Several dialog boxes (in particular but not limited to Y=f(X)) that displayed a list of unit choices for increment in X, generally tied to the number format used for the X axis, might have crashed on entry with an integer overflow error. This was especially true with calendar dates. The problem occurred when attempting to figure out the best units to use for the X axis; for calendar dates, for example, DPlot checked to see whether the existing curves had a spacing between points close to 1 year, month, day, hour, minute, second, or millisecond. If the check made it all the way down to milliseconds with a modern date then the test was very prone to crashing with an integer overflow error (a date in days multiplied by 8.64x107 milliseconds per day is generally a bit large for 4 byte integers). Thanks to john_in_sandiego for pointing out the problem.
     

28 July, 2009
Version 2.2.6.4

  • (Licensed version only) Modified Garmin GPX file import plugin to work with GPX files whose records do not contain a <time> field. In this case, of course, you cannot plot speed, or plot altitude vs. elapsed time or date/time.
     
  • At request, slightly modified the popup window that appears when hovering over a data point on an XY plot. If multiple independent axes are used and the curve containing the point is associated with the 2nd Y axis, the Y value is presented as "Y2=<value>".
     
  • Bug fix: It was possible to cause DPlot to crash when zooming on a logarithmic scale if you simply clicked and released the mouse button (rather than dragging out a rectangle). What should happen in this case is that the plot is zoomed in by a factor of 2, centered on the cursor position but forced to be within the current plot extents. If you clicked near a plot edge that last operation might have resulted in a negative value for an extent, leading to an illegal math operation and crash.
     
  • Bug fix (Licensed version only): SRTM plugin did not properly handle 3-second files (that is, all areas other than the United States) for which you did not plot the entire 1° x 1° extents of the file.
     
  • Bug fix: When reading text files if you selected "Alternating X,Y columns" but only a single X,Y pair, the Y axis label was erroneously set to the column heading for the matching X column (X and Y axis labels were identical, in other words).
     
  • Bug fix: List boxes displaying lists of curves/groups were drawn with all lines from the corresponding legend entry or axis title if that text contained line breaks. The result was an overlapping mess of text. In this version only the first line is used in those list boxes.
     

17 July, 2009
Version 2.2.6.3

  • DPlot does a better job of handling multiple-monitor setups at startup. In previous versions DPlot always appeared on the primary monitor.
     
  • Made several minor improvements to SRTM file import plugin: 1) Added an option to correct X & Y scale factors such that distances along each axis are equivalent. 2) Added code to set the default tick mark interval to more aesthetically pleasing units on the X and Y axes: 1, 2, or 3 minutes depending on the extents of the plot.
     
  • Bug fix: Corrected a roundoff problem that often caused the omission of labels along the axes of surface plots at one or both ends, particularly for "Degrees, Minutes" or "Degrees, Minutes, Seconds" number formatting.
     
  • Bug fix: Recent improvements with saving image files had a side effect of fouling up prints of 2D and 3D views of surface plots with shaded color bands and XY plots that included partially transparent symbols. (Both of these plot types are drawn to printer-compatible bitmaps, then the bitmap is printed.) In general fonts were larger (in some cases much larger) than they should have been.
     
  • Bug fix: The |TITLEn| replaceable parameters for the FileSaveAs command have been broken in the last several releases, sometimes resulting in a "NULL result for replaceable parameter..." error message.
     
  • Bug fix: When using shaded bands for a surface plot, roundoff error might have incorrectly forced the last legend entry to be written in the next column, so that you'd have one extra legend entry in its own column when there was clearly room for that entry in the previous column. Depending on plot size this might have resulted in that legend entry being clipped.
     
  • Improved on the still-mostly-undocumented feature of overlaying one document with another. The only way to access this feature at the moment is with the OverlayDocument macro/DDE command. For more information and an example see the related blog entry.
     

22 June, 2009
Version 2.2.6.2

  • The last several releases have allowed 2 significant figures on log scales when zooming. This generally worked fine if there was only one log cycle, but tended to create labels that overlapped each other (and didn't seem to make much sense, really) when there were two or more cycles. In this release if there is more than one log cycle, DPlot rounds zoom coordinates to 1 significant figure.
     
  • For 3D data and Find Volume Under Surface, the text box entries for the extents were misleading if you checked Consider entire surface and you had set the extents of the plot by zooming or with the Extents/Intervals/Size command. In that case the extents shown in the text boxes were the displayed extents, though the entire data extents would be considered in the calculation.
     
  • Bug fix: With the Edit Data command and 1D plots, you might have received an erroneous "nCurve > max" error message (indicating that the current number of groups was greater than or equal to the maximum number of groups (100)).
     

17 June, 2009
Version 2.2.6.1

  • By popular demand, added a quality setting for JPEG export. You will most likely find that the 4th of the 5 settings ("qood", the previous default) is the minimum acceptable quality. The 5th setting is lossless and so won't produce the artifacts common to JPEG files, but the file size is much larger.
     
  • (Licensed version only). Improved initial guesses for the equation form Y=A(X+B)^C. Previous versions tended to blow up with data that had a negative slope. Also added the ability to specify the extents of the curve generated by the fit equation.
     
  • Modified the Excel Add-In commands XYZSurface and XYZScatter to skip over blank cells: if any of the X,Y, or Z cells are empty, no point is added. Also added better error messages for finding bad numbers, rather than relying on Excel's generic "Type mismatch" errors.
     
  • Bug fix: Zooming out with the mouse wheel might have caused DPlot to crash with a logarithmic scale.
     
  • Bug fix: Fixed a few issues with writing %APPDATA%/DPlot/dplot.ini. In previous versions the file might have become mangled up by the macro editor.
     

2 June, 2009
Version 2.2.6.0

Very minor changes this time. Mailing list updates will not be sent. If you're a licensed user, you can get this update at the same link you received in the last update message, or with "Check for Updates" on the Help menu.

  • Fixed the boundary between peridotites and pyroxenites on the new IUGS ultramafic rock classification scale for triangle plots, and made a few changes to the label placement on the mafic rock plot to give a bit more room for the Y and Z axis labels.
     
  • Bug fix: Fixed a couple of minor problems with the List Peaks dialog. In particular for 3D/4D data you'd get semi-random characters in the output if you unchecked all options.
     

1 June, 2009
Version 2.2.5.9

  • For triangle plots, added options to draw IUGS Mafic and Ultramafic boundaries and labels for geologists and other... rock people :-). This is a beta feature, waiting on input from all the geologists reading this. If you see something wrong, please let me know. (In particular, I'm unsure about the 50% olivine boundary between peridotites and pyroxenites shown on the ultramafic scale. This agrees with the orinal requester's examples, but not with anything I've found on the internet about the subject - every reference I've found says the boundary is at 40%. In a perfect world this update would have waited until I knew the answer, but the bug fixes shown below mandated an update.)
     
  • For plots of 3D/4D data with shaded bands, roundoff error in the height of each legend entry might have resulted in the legend not being centered vertically on the plot, as intended. This was particularly noticeable with a large (>5 or so) legend label frequency.
     
  • Arrows drawn from text notes (if any) are now drawn in the color specified for the note font. In previous versions the arrows were always black. This does not apply to colors specified within the note text - only to the colors specified on the Font dialog.
     
  • Bug fix: An uninitialized data problem with all versions since 2.2.4.7 might have caused DPlot to crash when viewing polar charts that included a legend.
     
  • Bug fix: Text notes on triangle plots with the position specified in data space were not positioned correctly.
     
  • Bug fix: The Crop command on the Edit menu did not work correctly for 3D data if the plot used negative scale factors on the X or Y axes.
     

28 May, 2009
Version 2.2.5.7

  • Added the ability to specify the symbol frequency for 3D/4D scatter plots, which was previously only supported for XY plots. The corresponding SymbolFrequency macro/DDE command now also works with 3D/4D scatter plots.
     
  • Bug fix: In version 2.2.5.7 the new feature of turning on/off various values supplied by the List Peak Values and List Peaks within a Range commands left extra characters on the report screen.
     
  • Bug fix: For 2D views of random 3D points in a surface plot and contour lines (as opposed to shaded bands), DPlot did not properly respect the Z extents set with Options>Extents/Intervals/Size: whatever contour intervals were specified, those lines were drawn.
     

23 May, 2009
Version 2.2.5.6

  • The List Peak Values and List Peaks within a Range commands on the Info menu now allow you to specify what values to display. Choose from Minimum, Maximum, Mean, Standard Deviation, and (for XY plots) Standard Error. The default of course is to display all those values. This might save a bit of editing time if you typically use the output of these operations in a text note or export that information to another application.
     
  • Changed the behavior of dropping files onto DPlot. When dropping a file onto an open document window, the file is appended to that document rather than opening a new document. When dropping a file outside a document window the operation is the same as in all previous versions: a new document window is opened.
     
  • Bug fix: Version 2.2.5.2 introduced a new bug when interpreting blank columns in text files. A single character was erroneously interpreted as a blank cell. So if, for example, your X column was the row number, DPlot would skip over the first 9 rows of data.
     

18 May, 2009
Version 2.2.5.5

  • Bug fix: Due to a recent goof, if you attempted to save a bitmap image (BMP, GIF, JPG, PNG, TIF) and specified a resolution greater than 100 dpi and used non-zero dimensions for the width and height, the plot fonts, line widths, symbol sizes, plot size, etc. were scaled up (as expected) by <resolution>/<display resolution>, but the output image dimensions were not scaled up. The resulting image was of the requested size, but only included the top left portion of the plot. It also took (depending on the resolution setting) quite a bit longer to draw than usual, because most of the plot was clipped.
     

17 May, 2009
Version 2.2.5.4

  • Bug fix: The new (2.2.5.3) feature allowing you to zoom in/out on 2D plots using your mouse wheel did not pay attention to the size of the table used to store zoom extents. If you zoomed more than 10 times with the mouse wheel w/o clicking the Zoom Out button on the toolbar or using the Zoom Out menu command, DPlot would overwrite other data, leading to strange behavior and possibly a crash.
     
  • Added a checkbox to the General Options menu command to disable zooming with the mouse wheel, for those who find this feature annoying and/or who frequently unintentionally scroll the mouse wheel. Programmatically this same feature is available with the GeneralOptions command.
     

14 May, 2009
Version 2.2.5.3

  • You can now zoom in/out on 2D plots using your mouse wheel.
     
  • Made several changes to the "Specify columns to plot" dialog boxes:
    • Modified the dialog box so that it works as expected for line lengths greater than 1024 characters. Previous versions wrapped at the 1024'th character (same as Notepad and any other application using the standard Windows edit control), making it just about impossible to tell what you were looking at.
       
    • You can now read files containing up to 256 columns, though the total limit on the number of curves is unchanged at 100. In previous versions you could not read a file containing more than 101 columns (for XY plots, 1 X plus 100 Y columns).
       
    • For XY plots the "Use these columns for Y" list now displays column headings in addition to the column index.
       
    • For XY plots the dialog box is now resizable, and if you increase/decrease the width then the "Use these columns for Y" list box is resized along with the dialog box. This is handy for long, somewhat similar column headings that are not shown in their entirety in the table headings.
       
  • Added a step plot plugin for the full version. If you elect to install this plugin you'll see "Make Step Plot" on the Generate menu.
     
  • Minor change to the XYYY Excel Add-In command: In previous versions the first row was used as axis labels or legend entries only if the first column, first row contained a text entry. In this version this cell may be blank, with subsequent columns in the first row containing Y labels.
     
  • Bug fix: There was a roundoff problem with small amplitudes on XY plots with "Specify interval". For example if you set the interval to 2.E-11 and the Y extents to 0 to 2.E-10, DPlot would erroneously determine that the high extent was less than the low extent plus some multiple (in this case 10) of the tick interval, and increase the high extent (to, in this case, 2.2E-10).
     
  • Bug fix: A change in version 2.2.4.6 (not erasing the background of a document window when the plot was updated, thereby making 3D animations much smoother) might have given the appearance that DPlot had crashed, when it was actually operating just fine (though with an inappropriate background). You might have run into this when, for example, creating a plot from scratch with the Edit Data command and hitting Cancel rather than OK. You'd be left with a picture of the Edit Data dialog and a depressed Cancel button. The plot in this case was not redrawn, since there was nothing to draw.
     

9 May, 2009
Version 2.2.5.1

  • Bug fix: A fairly recent change adding support for European date formats by default (d/m/y vs. m/d/y) inadvertently did not allow a year value = 0 (which you'd get with 2 digit years for the year 2000). If attempting to read one of these files DPlot would not present an error message, but neither would it produce a plot.
     

5 May, 2009
Version 2.2.5.0

  • Bug fix: The new feature of allowing shaded bands and contour lines in a 2D view of a surface plot required 1 new GDI object that was not properly destroyed after painting the plot. In general this bug would only be an issue for developers driving DPlot from another application when that app might produce many hundreds of 2D surface plots in any one session.
     
  • Reset the expiration date check for the trial version. If you've previously used the trial you'll be able to use this version for 30 days.
     

4 May, 2009
Version 2.2.4.9

  • Bug fix: One more time. The fix for zooming in on logarithmic scales only worked correctly for values greater than 1.0.
     

3 May, 2009
Version 2.2.4.8

  • Bug fix: There were two problems associated with version 2.2.4.7's allowing two significant figures when zooming in on logarithmic scales: 1) Roundoff errors might have resulted in the low extent being equal to the high extent, which resulted in a division by 0 error and subsequent crash. 2) DPlot did a poor job of finding the space required on the left side of a plot for the Y axis values after zooming. With the default extents (use as much of the display as possible) this might have resulted in numbers being clipped at the left edge of the screen (and the right edge if multiple axes were used).
     

1 May, 2009
Version 2.2.4.7

  • Added a blog. This will for the most part be used to echo support e-mail questions that seem interesting to me and/or that seem to come up frequently.
     
  • Added Both lines and shades option for 3D/4D surface plots drawn in 2D. If selected, black lines are drawn at the boundaries between shaded bands. These lines are optionally labeled in the same way that "Contour lines" plots are.
     
  • For 3D points on a rectangular grid drawn in 2D, amended the interpolation scheme for "Shaded bands". This was done to accommodate the above "Both lines and shades" option. In previous versions shaded bands used a bilinear interpolation scheme, while contour lines broke each grid rectangle up into 4 planar triangles with the center point being the average of the 4 corners. The bilinear method generally produced smoother-looking contours for sparse data, but that smoothness wasn't based on any insight into the data and so probably wasn't justified. In any case the bands did not match up with contour lines; in this version they do.
     
  • Added a "Minor line width" option for 2D surface plots. You can set the interval for "major" lines using the "Major lines every" control. As before, labels will be drawn on lines at this interval if the "Label every major line" box is checked.
     
  • Added "Preserve Scale" option to the Contour Options and Scatter Plot Options dialog. This setting is equivalent to the Preserve3DScaleFactor macro/DDE command, and in this context is only meaningful if after closing this dialog you use the CTRL+arrow keys keyboard shortcuts to spin the plot. If checked, then the next time this plot is drawn the scale factor used to force the plot into the specified extents (or the available document area if extents are not specified with Extents/Intervals/Size) will be used on all subsequent renderings when spinning the plot around using the keyboard shortcuts. This option is primarily useful for smooth animations; if this option is not used then the plot size will tend to increase/decrease and possibly shift left, right, up, or down as you spin it around using the keyboard shortcuts. Note that this may mean that portions of the plot will be clipped when using this option. For best results first select viewing angles that will make the plot take up the largest portion of screen space - typically this will be at azimuths of 45, 135, 225, or 315 degrees.
     
  • Added right-click menu items for 3D surface plots in a 3D view. You can now quickly switch to a surface plot, wireframe plot, and for 3D points on a rectangular grid to a waterfall plot or bar chart. In practice this feature is mostly useful for switching to a wireframe plot before making changes to the viewpoint using the CTRL+arrow keys shortcuts.
     
  • You can now control the size of the symbols used in surface plots when "Data points" is checked on the Contour Options dialog. Programmatically the size may be set with [SymbolSize(1,<size in 1000'ths of inches>].
     
  • Amended the Color macro/DDE command to include support for setting the color of border lines used on 3D/4D surface plots.
     
  • On 2D views, all plot types, if you used the Print Caption option on the Text menu to display the plot filename in the lower right corner of the plot, that caption might have overlapped the numbers along the X axis.
     
  • For logarithmic scales on XY plots, DPlot would not allow you to zoom in to extents that were not 5 or 10 times some power of 10. In this release you can zoom in to extents with 2 significant figures.
     
  • Bug fix: DPlot did not correctly parse clipboard text with a date in the first column, time in the second column. In this version pasting this data from the clipboard behaves the same way that reading that data from a file would: the date and time are combined to form the X values.
     
  • Bug fix: If you clicked OK on the Label Points dialog for 3D data and there were no labels, DPlot crashed.
     
  • Bug fix: If you used the Specify Extents option on the Extents/Intervals/Size command with a logarithmic scale, for some values DPlot might have displayed the wrong value due to a small roundoff error. For example 1E-9 might have been displayed as 1.01E-9.
     
  • Bug fix: If you used a single custom contour level of 0 with surface plots and re-opened the Contour Levels dialog, DPlot crashed with a division by 0 error.
     
  • Bug fix: In previous versions DPlot automatically cropped metafiles and enhanced metafiles, eliminating excess white space. In most cases of course this was a good thing. But when driving DPlot from another program, retrieving a metafile from DPlot and setting that picture to be the background of a picture frame in that application, the resulting plot might not have had the expected aspect ratio. This was particularly noticeable with polar plots, which might not have been circular. In this release you (or rather your program) will get the metafile it asks for, including white space.
    Somewhat related: Amended the VB btest4 and C ctest4 demo programs distributed with DPlot Jr to request a metafile size more in synch with the picture frame dimensions. Previous versions forced the width to 5 inches and the height was set proportional to the width, according to the relative frame dimensions. This worked fine for frames with an aspect ratio smaller than w/h = 5/3. The only trouble was that DPlot forces both the width and height to be at least 3 inches, so wide frames would end up producing distorted plots.

     

15 April, 2009
Version 2.2.4.6

  • Made one simple change that makes version 2.2.4.2's keyboard shortcuts for changing view angles on 3D views much more useful: In this release the document window background is not erased when updating the plot. Instead the previous view is retained until the new plot has been calculated/drawn to a bitmap, and that bitmap is then BLT'ed to the screen. So you can spin a 3D view around without a lot of annoying screen-flashing. For bar charts, scatter plots, wireframes and waterfall plots, if antialiasing is turned off you'll now get a smooth animation using the arrow keys. (Surface plots are a bit sluggish because DPlot draws every individual pixel.)
     
  • Another change related to the view angle keyboard shortcuts: when making a series of changes using those keys, only the first keypress results in an Undo file being saved. So if, for example, you spin a plot through 50 degrees with 50 CTRL+←'s then click the Undo button once, the view angles will be restored to the values that existed before those 50 operations.
     
  • Added ContourViewChange command, which changes the viewing azimuth and/or elevation angles for 3D views by the specified values in degrees.
     
  • A change in behavior for 3D bar charts: If "Borders" on the Contour Options dialog is unchecked, then bars will not be outlined in black. This change was made primarily for viewing bar charts at an elevation angle of 90 degrees (top-down) where the black lines might have overwhelmed the plot for more than a thousand or so data points.
     
  • DPlot does a much better job with saving high resolution images, particularly with plots for which the legend or a text note has been moved well outside the extents of the plot. If you elected to crop whitespace in the image, those text entries might have been cropped or left completely out of the image. In at least some cases attempting to save a high resolution image with text objects well to the left or above the plot might have resulted in a crash.
     
  • Improved placement of axis labels and numbers on 3D views. In previous versions the labels sometimes overlapped the numbers along the axes, and/or the numbers overlapped the corresponding axis.
     
  • Bug fix: When using "Symbol sizes in Z units" for 3D scatter plots, DPlot erroneously applied the Z scale factor to the symbol sizes twice. For very small scale factors this error might have caused an integer overflow and subsequent crash.
     
  • Bug fix: In many cases DPlot did not interpret column headings for 3D/4D data files correctly.
     

8 April, 2009
Version 2.2.4.2

  • Bug fix: The legend entries for median-based 1D box-and-whisker plots were fouled up starting with version 2.2.3.5.
     
  • Bug fix: Axis labels were drawn in the incorrect location on 3D views with an elevation of 0 degrees.
     
  • Beta feature: Not documented anywhere but here (yet): For 3D views you can use Ctrl + ←, →, ↑, ↓ keys to increment/decrement the azimuth/elevation by 1 degree. This feature of course works best with simple plots: a few thousand points or less, antialiasing turned off, no lighting for surface plots.
     

7 April, 2009
Version 2.2.4.1

  • Bug fix: In the Symbols dialog for 3D scatter plots, if you selected the new cube symbol introduced with version 2.2.4 and then switched between data sets in the "Data set" list, the selected symbol list was not updated correctly.
     
  • Bug fix: The new functionality of the Preserve3DScaleFactor command (namely, keeping the axis of rotation at a fixed spot on the plot) introduced with version 2.2.4 only worked with 3D bar charts. Whoops! Also related to Preserve3DScaleFactor, if your symbols in a 3D/4D scatter plot used "Symbol size in Z units" and you used a perspective projection, you might have noticed that the symbols were not drawn with the same size in all orientations. This was particularly noticeable in animations using Wingding symbols. The problem was due to the fixed location in the plot that was used to obtain a scale factor for the symbols. (Before perspective projection was added, the location where that measurement was taken was irrelevant because any distance in the Z direction was the same everywhere.)
     
  • Bug fix: When saving 3D/4D scatter plots to a CSV file or tab-separated columns text file, DPlot wrote the maximum number of data points from all sets for each set. Generally this resulted in appending 0,0,0 triplets to one or more sets.
     
  • Bug fix: For 3D views of 3D/4D plots, the X and/or Y axis labels were drawn in the incorrect locations for an elevation angle of 0 degrees.
     

5 April, 2009
Version 2.2.4.0

  • Added full functionality for 3D bar charts. Bar charts may now be selected with the Contour Options command (for 3D views of Z values on a rectangular grid). You may also set the relative widths of bars with that command.
     
  • Slightly altered the 3D projection method used by DPlot. In previous versions it was not possible to reliably back out a viewpoint from the azimuth and elevation when perspective projection was used. This wasn't a serious weakness with surface plots but led to incorrect depth-sorting problems with 3D bar charts.
     
  • Added a cube symbol for 3D scatter plots. Unlike other symbols the cube is truly 3D, and is drawn with respect to your perspective settings. Programmatically that symbol type may be selected with [SymbolType(curve,389)]. This symbol will only be used if Symbol sizes in Z units is checked on the Symbol styles dialog box. That feature may also be set with the SymbolSizeUnits macro/DDE command.
     
  • Added droplines for 3D scatter plots. Lines may be in the symbol color or black, and you have control over the line width. Amended the ScatterPlotLines macro/DDE command to take this new feature into account.
     
  • Changed the behavior of the Preserve3DScaleFactor command. This command has always been useful for producing sequences of bitmap images to import into movie-making applications like Windows Movie Maker. But in previous versions no attempt was made at fixing the location of the center of the graph, so frames tended to jump around the screen a bit during animations. In this release Preserve3DScaleFactor preserves the scaling and the extents of the current frame and re-uses those values in all subsequent frames, so that the graph's center of rotation will be in the same place in all frames. An example of the results is shown here (6Mb).

    Also added a 0 parameter to Preserve3DScaleFactor to turn this feature off.


     
  • For 3D/4D scatter plots, added an option to draw droplines from each symbol to the base XY plane.
     
  • List Peaks and List Peaks within a Range previously included data points outside the range specified with the Amplitude Limits command. This version ignores those points.
     
  • Bug fix: For 3D scatter plots if the symbol size was set to 0 (use a default size) and you saved the graph to a high-resolution image format, the symbols were oversized (roughly by a factor of resolution/100).
     
  • Bug fix: Selecting points by clicking on the plot with the Distance from command did not work well with 3D views if a perspective projection was used.
     

28 Mar, 2009
Version 2.2.3.8

  • Bug fix: Version 2.2.3.7 would not properly read point label information saved to DPlot files with version 2.0.6.3 or older.
     

26 Mar, 2009
Version 2.2.3.7

  • Changed how the perspective value is defined for 3D views. In previous versions the perspective value was (loosely) the distance from the viewpoint to the center of the box bounding the plot. Although this worked fine, determining a good value for one plot had no relevance to other plots with different extents. In this release the perspective value is a ratio of one-half the box diagonal. A value of 1, then (the minimum) produces a very distorted view with the viewpoint on the smallest imaginary sphere that surrounds the plot. Most surfaces will look best with a perspective value of 2 or more. This change requires ignoring perspective values saved to DPlot files with version 2.2.3.4. Programmers who used the perspective setting with a ContourView command will need to make changes to their code.
     
  • Beta feature: Added 3D bar charts. This feature is currently only available via macro command and will likely be added to the user interface in the next release. 3D bar charts, like waterfall plots, are limited to rectangular grids of Z values (does not work with random 3D points, in other words). This limitation is not likely to change. The following sequence of macro commands will produce a 3D bar chart:
    3D Bar Chart

    Contour3D(1)              ' Turn 3D view on
    ContourMethod(4)          ' Bar chart
    ContourBarWidth(0.5,0.5)  ' Sets bar widths relative to X and Y interval
    '                           (default=1)
    
    If you open the Contour Options dialog and click OK or Apply, the plot will revert to a surface plot and you will need to run the macro again to restore the bar chart. This will of course change once this feature becomes "official". Comments and suggestions are of course welcome.
     
  • Bug fix: An uninitialized data problem related to version 2.2.3.4's addition of perspective projections might have caused DPlot to crash when controlled by another application. This problem affected 3D views of 3D/4D surface plots.
     

22 Mar, 2009
Version 2.2.3.5

  • Bug fix: Version 2.2.3.4 contained a bug that might have resulted in an ordinary number being interpreted as a date.
     
  • Minor changes to the Contour Options and Scatter Plot Options dialogs pertaining to new perspective projection feature.
     

20 Mar, 2009
Version 2.2.3.4

  • Added perspective projection capabilities to all 3D views. Programmers see the updated ContourView command.
     
  • Added "Copy Data" and "Edit Legend" menu items to the right-click menu when clicking on a curve in an XY plot. Copy Data copies the data for the selected curve to the Clipboard as tab-separated columns; Edit Legend opens the Legend/Labels dialog with the corresponding curve selected.
     
  • The Polynomial Curve Fit command generated a curve with arbitrary line and symbol types. In this version the newly-generated curve will use solid line segments and no symbols.
     
  • Bug fix: Starting with version 2.2.2.7, if a bitmap was requested with width or height less than 300 pixels, then DPlot multiplies those values by whatever power of 2 achieves a width and height > 300, then resizes the bitmap by that same scale factor. This all works well, but the associated DPLOT_PLOTMETRICS values obtained with DPlot_GetBitmapEx were those for the larger bitmap, not the bitmap returned. This made it impossible to scale mouse position to plot space (unless, of course, your program knew the scale factor used by DPlot).
     
  • Bug fix: For random 3D points from a file, DPlot always sorted the points in X, then Y, then Z order. This was done to make the triangulation routine more efficient for surface plots, but the sorting was also done for scatter plots. There is no logical reason to do this for scatter plots. And if you chose to draw line segments between data points, the lines would of course not be drawn between the points you expected.
     
  • Bug fix: Bubble plot points were clipped against the extents of the primary Y axis, even if Multiple Axes were used and the graph was associated with the second Y axis.
     
  • Bug fix: If Degrees, Minutes, Seconds or Degrees, Minutes number format was used, DPlot did a poor job of handling negative values between 0 and -1 degree, both on input and output.
     

13 Mar, 2009
Version 2.2.3.3

  • Better initial estimates for the curve fit coefficients in the More Curve Fits plugin with the tanh equation form.
     
  • Added SetDecimalSymbol command and DecimalSymbol request item.
     
  • Bug fix: A roundoff error might have resulted in the upper X extent shifting right every time a plot was redrawn if Calendar Date number formatting was used.
     

10 Mar, 2009
Version 2.2.3.2

  • Bug fix: Version 2.2.3.1 might have failed to read in point label information saved to a DPlot file with a much older version of DPlot.
     
  • Bug fix: On the Point Labels dialog, if you were using "Date and Time" number formatting for the X axis but the date format was set to "<none>", then the X label position was displayed as a time only. Fine so far, but when scrolling through the list of labels or clicking OK, DPlot attempted to read a date and time from that text box, found only a time, and set the date to 0 (Dec 31, 1899). In this version the date will be displayed whether "<none>" is used for the date format or not. Thanks Jon Canale for pointing out the problem.
     
  • Bug fix: If you used Reference lines with the "Label" set to draw the reference line label in the plot legend, the label might have been replaced by the previous legend entry. Thanks to Richard Swaim for pointing out the problem.
     

9 Mar, 2009
Version 2.2.3.1

  • Bug fix: A change in version 2.2.3 broke the ability to read text notations from saved DPlot files, generally resulting in an error related to "keyword notev3".
     
  • Bug fix: The added support for alternate decimal symbols in 2.2.3 wasn't complete and in one case was badly implemented. For Y=f(X) the oldest rather than the newest equation was selected. In all other functions that stored previously-used equations, the equation was not rewritten using the new rules related to a comma decimal symbol. So you might have encountered a syntax error on an equation that previously worked as expected.
     
  • Bug fix: All of the changes to point labels in version 2.2.3 resulted in a couple of new bugs. The label location (if expressed in plot coordinates rather than an offset) was rounded to the nearest integer. And if you had multiple labels on a plot, scrolling through the list of labels did not properly update the other fields on the dialog. So if you had 100 labels you might have ended up with 100 identical labels just by scrolling through the list.
     

8 Mar, 2009
Version 2.2.3.0

  • Internationalization with respect to numbers: Added a "Decimal symbol" entry to the General Options dialog. The first time you run this version of DPlot this entry defaults to the symbol set with the Windows Control Panel. If a comma is used as the decimal symbol, then lists of numbers (e.g. arguments to functions using Y=f(X) and similar routines) must be separated by semicolons. This setting is used for all dialog box text box inputs and for reading tab-separated columns of text, either from file or from the Clipboard. It is not used when copying data to the Clipboard or when saving text files. Macros and calls to DPlot_Command still expect the standard '.' as a decimal point and arguments separated by commas, and this is not likely to change.
     
  • The Distance from... command on the Info menu now works with 3D and 4D surface and scatter plots, in both 2D and 3D views. The cursor will always be snapped to the closest data point. Note that in 3D views, the cursor may snap to a point that is hidden.
     
  • For bubble plots and vector plots, you may now use the shortcut $Z to use the bubble/vector magnitude as the label text for Point Labels.
     
  • Amended Excel Add-In OneD function such that data sets may be arranged in columns (the default) or rows. For the OneD function to pick up correctly on the latter, the first column must contain at least one non-empty non-numeric label beyond the first row.
     
  • The Excel Add-In generally handled blank cells as expected, but not if the cell contained a formula that resulted in the contents of the cell being set to an empty text string (""). In that case the Add-In function generally reported an error.
     
  • Added optional "options" string to the FileAppend macro/DDE command, giving it the same functionality as the FileOpen command for file import plugins.
     
  • Increased the maximum number of fill areas per plot from 20 to 100, mostly to accomodate some things being worked on for US maps.
     
  • Point labels:
    • The "Copy" and "Label All" buttons on the Point Labels dialog box now work much better with respect to the X and Y label offsets for all labels if "Specified as offset in inches" is selected. In previous versions all labels were given a default offset from the corresponding data point.
       
    • Added alignment settings for point labels. In previous versions the location always specified the location of the left middle of the rectangle surrounding the label. This made it near impossible to align multiple labels of varying lengths if you wanted the labels to the left side (for example) of the referenced points.
       
    • Added a "Label All" button to the Point Labels dialog box for 3D plots, with functionality similar to that found on the 2D version of that dialog box. (Note that it is trivially easy to run out of memory using this feature; each label currently requires 136 bytes).
       
    • Added the ability to use equations in point labels that included the $X, $Y, or $Z shortcuts. (In previous versions you could do one or the other, but not both.) This will mostly be useful for formatting the label differently than the numbers on the corresponding axis. For example, to display Y values rounded to 2 decimal places: "$=(ROUND($Y,2))"
       
    • The "Label All" button on the Point Labels dialog box previously labeled all curves, including those not drawn because they were in use as the source for error bar, bubble plot, or vector plot magnitudes or vector plot angles. This version will only add labels to curves that are drawn.
       
  • Bug fix: Version 2.2.2.9 allowed line breaks in legend entries for XY plots. This worked fine for a single line break (2 lines), but caused a crash with multiple line breaks in a single legend entry. Also, line breaks in legend strings passed to DPlot via DDE, e.g. from the Excel Add-In, were replaced by spaces.
     
  • Bug fix: Opening a file supported by a DPlot file import plugin on the command line or with Explorer's "Open With..." feature did not work properly because the available plugin modules had not been initialized yet. (This bug did not effect dragging a file onto an open DPlot window or opening it with the Open command on the File menu.) In some cases this bug might have resulted in DPlot treating the file as a simple text file.
     

21 Feb, 2009
Version 2.2.2.9

  • DPlot Jr now supports file export plugins. It is distributed with image export plugins for BMP, GIF, JPG, PNG, and TIF formats.
     
  • The legend in XY plots may now contain line breaks (using the character sequence \n) in the same way that the title lines and axis labels do.
     
  • Version 2.2.2.7 added the ability to specify the interval between generated points resulting from Y=f(X) and Y=f(X,Y1,Y2,...) using number-format specific units. For example, if the X axis used a calendar date, then you were given the option of selecting the interval in years, months, days, hours, minutes, seconds, or milliseconds. However, "years" was rounded to 365 days and "months" to 30 days, so, for example, if the from X value was Jan 1, 2009 and dX was set to 1 month, you'd get points at X=1/1/09, 1/31/09, 3/2/09, etc. In this version years and months are evaluated as you'd expect.
     
  • Added a "Restore defaults" button to the Colors dialog for XY plots.
     
  • Added an option to the Find Volume Under Surface command for 3D plots to perform the calculation on a subset of the surface by specifying the X and Y extents.
     
  • DPlot will now correctly handle semicolons as column separators in text files, in addition to commas, tabs, and spaces.
     
  • Changed the way that 2-digit years in text files were interpreted. In previous versions year values less than 10 were assumed to be 21st century dates; otherwise the 20th century was assumed. In this release 2-digit years less than 90 are assumed to be 21st century dates. If DPlot makes the wrong assumption, you can easily adjust the date values with Edit>Operate on X and (to switch from the 20th to the 21st century) X=X+DATE(2000,1,1)-DATE(1900,1,1)
     
  • Licensed version only: Added the equation forms y=A*(cosh,sinh, or tanh)(B*X+C)+D to the "More Curve Fits" plugin.
     
  • Added |DPLOTDRIVE| and |DPLOTPATH| shortcuts to the Directory, FileOpen, and FileSaveAs macro/DDE commands. When used, these shortcuts are replaced with the drive or folder, respectively, where DPlot is installed. This may be particularly useful when running DPlot from a removable drive.
     
  • Bug fix: Fixed an obscure problem with the ManualScale command. If DPlot was hidden when this command was used and one or more parameters were omitted (indicating that the previous values should be retained), the plot extents were not updated correctly and the resulting bitmap or metafile used the incorrect extents.
     
  • Bug fix: When using the Smooth command on the Edit menu, if "Operate on ALL points" was unchecked, DPlot did not honor the "to X=" value and, depending on space allocated for the X and Y arrays, might have crashed.
     
  • Bug fix: When reading text files, if a space-separated date and time were found in the first column, then DPlot erroneously combined the column headings for the first two columns into the X axis label, unless those headings were surrounded by "quotation marks".
     
  • Bug fix: In the last several releases the ColumnsAre macro/DDE command has been broken. Several parameters were reset to 0 after the ColumnsAre command and before reading a file.
     
  • Bug fix: Changes to the plot background color were not saved to undo files, and consequently not undone with Edit>Undo.
     

1 Feb, 2009
Version 2.2.2.7

  • Amended DPlot_AddData function to improve performance in real-time applications, particularly those written in .NET applications and/or run on Windows Vista. Developers please note: this change requires a change to your programs. You will eventually need to call the new DPlot_Disconnect function. See the note in the DPlot_AddData topic for more information.
     
  • For similar reasons, added [DeferMinMaxCheck(state)] command. If state is non-zero, then minimum values, maximum values, mean, standard deviation and similar parameters are not recalculated after every call to DPlot_AddData (as they have been in all previous versions). This is particularly useful for real-time applications, particularly after plotting many thousands of points. The downside to using this feature is that text entries using any of the text placeholder features will not be updated until a [DeferMinMaxCheck(0)] command is issued.
     
  • The Y=f(X,Y1,Y2,...) command now allows you to specify the interval in X in number-format-specific units, as the Y=f(X) command has done for a while. For example if the X axis is shown as calendar dates, dX may be specified in years, months, days, hours, minute, seconds, or milliseconds.
     
  • Working with an existing plot, the Y=f(X) and Y=f(X,Y1,Y2,...) commands allow you to click on the plot to set the from X and to X values.
     
  • Double-clicking on a specific legend entry brings up the Legend dialog box, sets the Curve No. entry to the index of the associated curve, and gives the legend text box the input focus. In previous versions the same action simply opened the Legend dialog box with the Curve No. set to 1.
     
  • Bug fix: If you saved a DPlot file using a logarithmic scale on either the X or Y axis and one or more curves were hidden, when attempting to reopen that file you'd get the erroneous error message "All X(Y) values are equal to 0 for one or more curves. Cannot use logarithmic (or N1.85 scaling (X axis only))".
     
  • Bug fix: The Copy button on the Peaks box (shown as a result of the List Peaks or List Peaks in Range commands) only copied the first 1023 characters to the Clipboard, generally not enough if the plot consisted of seven or more curves if no text was selected (meaning the entire text box contents should be copied).
     
  • Bug fix: If you used Operate on X or Operate on Y commands on a plot containing X,Y labels, the label X/Y value was shifted using that same operation, whether you operated on all curves or not. In this release, X/Y Labels are only shifted if all curves are selected. Also, the X/Y value shown on the X,Y Labels dialog was formatted using the number format for the X axis, regardless of which axis the label was associated with. In this release the value is formatted using the format for the appropriate axis.
     
  • Bug fix: In the last several versions, if you used "Pick columns to plot" with a multiple-column text file and the X column was the last selected column, DPlot did not properly read the X column values.
     
  • Bug fix: The "Specify Columns to Plot" dialog sometimes did a poor job of parsing column headings in space-delimited text files.
     
  • Bug fix: When saving a bitmap image, if either (but not both) of the requested width or height was less than 100 pixels, an uninitialized data problem would set the other dimension to a nonsense value. (In all previous versions, if both the width and height were set to less than 100 pixels then DPlot overrode those values and created what was essentially a screenshot. This is changed in the following.)
     
  • If the requested width or height of a bitmap image is less than 300 pixels but greater than 0, then DPlot scales the width and height up by the required ratio to make those dimensions greater than 300, and then resamples the larger bitmap to get the requested size using a bilinear resizing algorithm. (There are more sophisticated resizing filters, but the simple bilinear routine generally works best on graphs.) In previous versions if the dimensions were greater than 100 but less than 300 pixels, DPlot simply drew the bitmap at the requested size. In most cases this resulted in unattractive plots with illegible fonts. This change should be useful for users wanting thumbnail images of graphs, particularly for software developers using DPLOTLIB functions to produce bitmaps.
     

7 Jan, 2009
Version 2.2.2.5

  • If you called DPLOTLIB.DLL functions with DPlot or DPlot Jr hidden, before the first time that application had been run on the target system, the application was not hidden. Subsequent runs worked correctly.
     
  • Bug fix: All versions since 2.1.7.7 have used the UPX compressor on the main application and the macro editor. Unfortunately, on some versions of Windows XP there is an apparent software conflict with UPX-compressed applications that has caused strange problems for at least 1 user. Specifically, macro/DDE commands including 2-digit numbers (but weirdly not 1- or 3-digit numbers) were not interpreted correctly. At least for now, I've given up on compressing executables. This change does not increase the setup file size but obviously does increase the file size of the installed program.
     
  • Bug fix: Deleting the only reference line using Options>Reference Lines caused DPlot to crash on Windows XP.
     
  • Bug fix: If two or more X values were equal, attempting to switch to a bar chart caused DPlot to crash.
     
  • Bug fix: In the "Bitmap to 3D" file import plugin, if the color 0 and color 255 Z values were set equal, DPlot crashed.
     
  • Bug fix: The last several versions included test code to draw antialiased symbols on printed output. Unfortunately this feature worked on a very few printers, but on most printers antialiased symbols (set by checking "Antialias objects on display output" under Options>General) were drawn as a solid black box.
     
2008   2010
$
195.
00
 
RUNS ON
Windows 10,
Windows 8,
Windows 7, 2008,
Vista, XP, NT,
ME, 2003, 2000,
Windows 98, 95
Copyright © 2023-2024 ARA