Revision History (Archives, 2009)
6 December, 2009
- 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
- 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,
- 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
- 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
- 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
- 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
- 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
- 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
- Bug fix: One more goof in the
ManualScale command introduced with
version 220.127.116.11 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
- 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 18.104.22.168 $Y text shortcut did not work correctly.
- Bug fix: Starting with version 22.214.171.124, 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 126.96.36.199's change allowing equations as parameters in macro/DDE commands broke the
ManualScale command for 3D views of 3D/4D data.
17 October, 2009
- 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:
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
- 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
- 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
- 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 188.8.131.52, 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 184.108.40.206 or 220.127.116.11,
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
- 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
- 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 18.104.22.168, 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 22.214.171.124 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
- 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
- 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
- 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
- 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
- (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
- 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"
- 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
22 June, 2009
- 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
- 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
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
- 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 126.96.36.199 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
- 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
- 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 188.8.131.52 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
- 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
- Bug fix: Version 184.108.40.206 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
- 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
- Bug fix: The new (220.127.116.11) 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
14 May, 2009
- 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 18.104.22.168 (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
- 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
- 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
- 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
- Bug fix: There were two problems associated with version 22.214.171.124'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
- 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
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
- Made one simple change that makes version 126.96.36.199'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
- Bug fix: The legend entries for median-based 1D box-and-whisker plots were fouled up starting with
- 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
- 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
(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
28 Mar, 2009
- Bug fix: Version 188.8.131.52 would not properly read point label information saved to DPlot files with version 184.108.40.206 or older.
26 Mar, 2009
22 Mar, 2009
- Bug fix: Version 220.127.116.11 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
- Added perspective projection capabilities
to all 3D views. Programmers see the updated
- 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 18.104.22.168, 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
- 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
- Better initial estimates for the curve fit coefficients in the More Curve Fits plugin with the tanh equation
- 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
- Bug fix: Version 22.214.171.124 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
- 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
- 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
- For bubble plots
and vector plots,
you may now use the shortcut $Z to use the bubble/vector magnitude as the label text for
- 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 126.96.36.199 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
- DPlot Jr now supports file export plugins. It is distributed with image export plugins for BMP, GIF, JPG, PNG, and
- 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 188.8.131.52 added the ability to specify the interval between generated points resulting from
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
- 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
- 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,
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
- Bug fix: Changes to the plot background color were not saved to undo files, and consequently not undone with Edit>Undo.
1 Feb, 2009
- 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
- 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 184.108.40.206 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
- 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.
Windows 7, 2008,
Vista, XP, NT,
ME, 2003, 2000,
Windows 98, 95