|
Revision History (Archives, 2003)
22 December 2003
Version 1.9.1
- Fixed a bug introduced with the addition of "Tab-separated values" to the list of file output formats. File export plugin indices
were off by one, such that if you selected "BMP Picture" you'd instead get "JPEG Picture". This bug generally effects
licensed users only, as plugins are not distributed with the evaluation version.
18 December 2003
Version 1.9.0.9
- Fixed one more problem associated with new capabilities in reading multiple-column text files. If the file contained 20 or more lines of text
preceding the data, DPlot would determine that the file contained only text and refuse to process it farther.
- Spline interpolation method of Equal Intervals command was fouled up starting with version 1.9
- You may now have up to 99 undo levels per document. The previous limit was 8.
- Undo files for editing data points with Edit data on 3D surface plots was broken by the addition of 3D scatter plots in v1.9.
- Under some circumstance, "undo"ing a change in data did not correctly restore the data, and on Windows XP
may have resulted in a crash.
- Added the option to save data from any 2D or 3D plot type as tab-separated values, in addition to comma-separated values. As with comma-separated
values, this option is only available for XY plots if all curves share the same X values and all curves have the same number of points.
- You may now open multiple DPlot files with the File>Open command. Each DPlot file is opened in a new document window. Thanks to Karin Heider
for the suggestion.
- Last update's feature of using a negative Z scale on 3D plots to reverse the normal drawing direction has been expanded to include X and Y.
10 December 2003
Version 1.9.0.8
- Added a simple fix to 3D plots to allow the use of a negative Z scale factor so that the positive Z direction is down in the plot.
- Added an option for all 3D data plots to skip 1 or more legend labels. This may be a handy feature if you like using a large number of
contour intervals but don't particularly want the legend to dominate the plot.
- Equal Intervals command previously forced the start and end points of the new curve to be multiples of the interval. And a couple of
roundoff problems sometimes caused the output curve to have 1 less data point than expected.
- The elimination of Y=f(Y1,Y2) for the more general Y=f(X,Y1,Y2,...) led to problems with the AddCurves,
SubtractCurves, and other macro/DDE commands.
- The new capabilities of interpreting CSV and other multi-column files ended up preventing at least one user from reading his standardized file
formats, in that the data was preceded by several header lines consisting of a text string followed by several columns of numbers. In previous
versions, DPlot would see that the opening text string was not a number, and so decide that the data must start further down in the file. In
version 1.9, DPlot still recognizes the opening text string as a non-numeric field, but doesn't disqualify the line from being a data line
as a result. If the file contains at least 3 consecutive lines that contain the same number of columns and the same data type in each column
(which this user's file format did), then DPlot decided that this must be where the data starts. In this version, DPlot checks for 20
consecutive lines with the same number of columns and the same data type in each column. This change of course isn't foolproof; the addition
of more header lines with the same format would cause the 20-line criteria to find a false match. If this ends up being a problem for anyone
we'll add an input that asks the user where the data starts rather than trying to determine this automatically.
- Several file formats were processed using an older Windows API call that limits filenames to 128 characters.
5 December 2003
Version 1.9.0.5
Argghh! Several bug fixes, most associated with the 1.9 change from single- to double-precision data.
- Smooth command for XY plots produced a botched-up curve.
- On some systems under some circumstances, the Contour Options command on the Options menu for 3D surface plots crashed.
- FFT crashed if the number of input points was not a power of 2.
- New 3D scatter plots did not prevent you from attempting to read a file containing more than 100 data sets (the max) and
DPlot crashed if you attempted to do so.
- Along with testing 3D scatter plots with a large number of data sets, it was found that a
Use last-selected symbol for ALL data sets option would be handy.
- Interpolate command caused a crash if a curve used a long legend string (an equation, for example).
- BMP export (licensed version only) crashed if the RLE-encoded bitmap required more memory than the uncompressed bitmap.
And finally, a few new useful features unrelated to bugs:
- Added Preserve3DScaleFactor macro/DDE command, which is useful when producing a series of frames that will
later be used in an animation, such as the airfoil MPEG referenced on the
features page.
- Added SetClientRect macro/DDE command. This resizes a document window or the main application window such that
the working area has the requested dimensions.
2 December 2003
Version 1.9
- 3D Scatter plots.
- Internally, all data is now stored using double precision (8 byte) floating point numbers rather than single precision (4 bytes). For the
majority of users this change will have little effect. But it will avoid precision problems that previous versions had when
plotting large numbers with small (but significant) fractions.
- Support for CSV (comma-separated values) files has been greatly improved. Your CSV files may now contain dates, times, date-time pairs, and
currencies. In addition, DPlot will automatically ignore columns that aren't interpreted as numbers or any of the other supported types
without requiring the use of quotation marks.
- Added Delete Thin Triangles command for random 3D data. This command is handy for cleaning up plots generated from truly random data,
removing slender triangles from the edge of your surface (also from any interior holes you've created with Delete Triangles). Triangles
with interior angles less than 5 degrees are removed if the associated triangle vertex is on a free edge. Thin triangles often do a poor
job of mapping a surface. Triangle removal is recursive: if triangle B has an interior angle less than 5 degrees which borders triangle A,
and triangle A is removed, then triangle B will also be removed.
- Replaced Y=f(Y1,Y2) command with more general Y=f(X,Y1,Y2,...) command. The new command allows you to generate a new curve from
an equation that is a function of X and/or one or more of the amplitudes from existing curves. Thanks to Laurent Paris for the suggestion.
- For "Month" number formatting, the default tick mark interval on XY plots will be 1 (1 month) if the extents of the corresponding
axis are more than 3 or up to 24 (2 years). If the tick mark interval is 1.0, then axis labels will be placed at the center of the tick mark interval
rather than centered on the tick marks, as is done with all other number formats.
- For "Date" number formatting, several functions (List Peaks, List Peaks in Range, Scan Points) as well as the status
bar readout of mouse position show the time of day along with the date.
- Added "None" number formatting, which is useful for creating blank graph paper. See the modified "How do I?"
Help topic on creating graph paper for a simple macro that creates blank log-log paper.
- On 2D contour plots, if you use a custom color palette and set the color for the low and high levels to the same color, then
DPlot now considers the contour values to cycle; in other words it considers the low end of the scale to be equivalent to the
high end of the scale. In this case, triangles that have all three vertices at either the high or low end of the scale will
use the same solid color across the entire face of the triangle. In the case of contour lines, no lines will be drawn on
this triangle. Thanks to Bill Frenchu for the suggestion.
- Added Polar Plot Options menu command. This replaces the Units command for polar plots and also allows you
to specify the orientation of the plot (0 degrees at the top of the plot and/or clockwise angles). It also has a switch to force polar plots
to be circular, which saves you from the trouble of specifying a square width and height for the plot. If you want elliptical
polar plots, of course you may still have them. Added PolarPlotStyle macro/DDE command to make these same settings.
- Point labels (added with Text>Label points menu command) may now be included on polar plots.
- Negative angles are now allowed as input for polar plots.
- Zoomed views are now saved to and restored from DPlot files. Manually-entered extents are now correctly saved to the values entered. In previous
versions if you zoomed in and then saved a file, the extents were saved as the current zoomed view.
- Probability scales are no longer forced to be symmetrical. For example, if your data extends from X=0.001 to X=50, then the X axis extents
will be 0.001 to 50 rather than 0.001 to 99.999.
- DPlot now distinguishes between default input and output folders.
- Added "Friedlander's Equation" to the functional forms in the "More Curve Fits" plugin (distributed with the licensed version
only). This equation is generally used to fit pressure-time histories from explosive events.
- Added a switch to hide/show the legend.
- Print margins and orientation are now preserved from one session to the next. (Margin settings may be overridden by margin settings saved in
a DPlot file.)
- Added fact (factorial), erf (error function), and cdf (cumulative distribution function) to the function parser (used
by Y=f(X), et. al.)
- Insert Link menu command is now quite a bit more useful, and in general the functionality of linking data from other
applications has been improved. The Insert Link dialog now shows recently used links, which may be selected and
re-used. There's also a Current links list which shows all of the links for the active document and allows you
to unlink data. Most importantly, DPlot now behaves correctly with multiple links in the same document. Thanks to Raymond Delaforce
for all of the suggestions.
- Added RemoveLink macro/DDE command, which removes the association between the server application and DPlot originally
established with an InsertLink macro/DDE command or the Edit>Insert Link menu command.
- Starting with this version, if the currently active document window is maximized, then new document windows (created by
the File>New command, for example) will also be maximized.
- Support for unformatted binary files has been expanded to allow multiple curves in the same file.
- "Smoothing window" parameter of the Edit>Smooth command and "Interval" and "Interpolation method"
parameters of the Edit>Equal Intervals command are now persistent.
- Title lines for all types of plot are now centered horizontally on the plot, not including axis labels or other
objects outside the plot box. In previous versions the title lines were centered on the output width, which
led to inconsistencies between the display and metafiles.
- In previous versions of DPlot, the legend and notes were forced to be on the screen. Unfortunately this led to
inconsistent placement between what was seen on the screen and printed or copied to metafiles if, for example,
the legend was placed well outside of the plot. In this version the legend and notes are no longer restricted in this way,
so that you should get consistent placement on all output devices. This creates a new problem, though: it is now possible
to resize a plot such that the legend or notes are completely off the screen and inaccessible. A new menu command
(Text>Force legend/notes on screen) has been added to move those items such that they are completely visible on
the display. This command is not persistent; it only changes placement at the time you use it.
Bug fixes:
- New symbol types were written incorrectly to preference files.
- Symbols used in the legend were clipped if the legend was placed outside the plot.
- Corrected bug in macro facility that prevented ForFilesIn loops from working correctly if user had Explorer's
"Hide file extensions for known file types" checked.
- Equal Intervals command was not enabled properly after creating a single curve unless the curve was
created by a method that by definition produced monotonically increasing X values.
- Corrected a bug with Text>Label Points command. Selecting a curve with only 1 point caused DPlot to crash.
- You were not allowed to draw a lone contour line on 2D contour plots. If you attempted to set the number of
intervals to 1 programatically, or if you set the low and high contour levels to be equal, DPlot crashed.
- Mouse cursor clipping was fouled up on dual monitor displays after operations that restricted cursor movement (Zoom,
List Peaks in Range, et. al.)
- Color settings read from a preferences file were assigned to the default color palette (used in new plots), rather than the
currently active document.
- Removing the first notation (Text>Add/Edit Note) by deleting all of the text in the note (as opposed to clicking
the Remove button) caused DPlot to crash.
9 September 2003
Version 1.8.3
- Error bar values may now be retrieved from another "curve", so that you may now have unique error bar magnitudes
at each data point.
- You may now specify how many symbols are used per entry in the legend of XY plots. Previous versions always used 2 symbols.
Added an optional parameter to the LegendParams macro/DDE command to reflect this change.
- Added Arrowheads menu item to toggle the appearance of arrowheads on the coordinate axes of XY plots when Axes Only
is selected.
- The user-defined color palette for contour plots may now consist of from 1 to 16 colors (previous versions were
limited to 6 colors only). As with previous versions, DPlot interpolates between these colors if there are more contour
lines/shades than table entries.
- For contour plots with shaded color bands (as opposed to contour lines), DPlot now adds > and/or <
symbols to the user-specified high and/or low contour values in the legend if those values are more than 1 contour
interval different than the maximum/minimum data extents.
- Added "Initially turn symbols off/lines on" to the Options>General menu command. This feature
will help avoid frustration for users who frequently plot very large data sets and also, on occasion, create
plots with symbols. (By default, DPlot passes symbol and line types on from the first open document to all new documents.
So if you work with a plot containing symbols, then create a new plot with several hundred thousand points, you can
expect to wait a while as DPlot renders several hundred thousand symbols if this option is unchecked).
- Added Erase group menu command for 1D plots.
- On the Point Labels dialog, the operation performed by the Ymax and Ymin buttons has been changed such that
they will select the maximum or minimum values within the current window (after zooming, for example) rather
than the absolute maximum/minimum values. Thanks to Edgar Poth for the suggestion.
- File type 'B' (ASCII text file with number of points followed by X,Y pairs) will now accept multiple curves in the
same file.
- Added toolbar button for List Peaks within a Range.
- Removed the "Use arrow keys to pan" message from the status bar when zooming. This message was previously
locked in for 5 seconds and was an annoyance for many users.
- DPlot Viewer now interprets command line parameters, so you (or your end users) can
associate a file type with dplotvu.exe and double-click a file to open it in DPlot Viewer.
- Added Bandpass option to Edit>Filter, which allows you to preserve frequencies within a specified range
and/or use a low-pass or high-pass filter to reject frequencies above or below a specified limit. Also amended
EditFilter macro/DDE command to take into account this capability. Also see the Help topic for the Smooth
command for an additional method of low-pass filtering your data.
For programmers:
- TextPointLabel command now allows you to rotate labels 90 degrees.
- SymbolSize command now allows you to change the size of symbols for all curves with one command,
similar to the way the SymbolType, LineType, and LineWidth commands work
- Added ContourCustomColors and ContourColorScheme commands, which allow you to specify one of the
two predefined color palettes or a custom color palette used to draw contour lines or shades.
- Added ContourLabelLines command to allow you to specify whether individual contour lines are labelled,
the frequency of the labels, and whether the labels are transparent or opaque and drawn in black or the same
color as the contour line.
- Changed LineWidth command so that it may be used to set the width of the pen used to draw contour lines.
- Changed WindowTile command to accept a parameter that changes the window arrangement from
"tall rather than wide" to "wide rather than tall".
- Increased the default timeout value in DPLOTLIB functions from 1 second to 10 seconds. The shorter timeout value
worked fine for most plots, but was insufficient for large (>10000 points) contour plots of random 3D points.
- Line segments drawn as a result of XY or XYXY commands or with the new DPlot_AddData DPLOTLIB
function were not repainted properly if the ManualScale command was also used and the DPlot window was
covered/uncovered.
- Added DPlot_GetBitmapEx. This function is very similar to DPlot_GetBitmap, but also returns
plot metric information that enables the calling application to map bitmap pixels to data space. So you can,
for example, display the X and Y coordinates corresponding to the current mouse position. The XY plot in the
btest2 example program does exactly this.
- Added DPlot_GetEnhMetaFile, which retrieves an enhanced metafile of the specified size of an already
existing plot. See btest4 (VB demo) and ctest4 (MSVC demo) in the DPLOTLIB distribution.
- Added DPlot_SetErrorMethod. The DPLOTLIB DLL now contains much more specific error information, which
in general should not be necessary for your released product but may be very helpful during development.
DPlot_SetErrorMethod allows you to specify how error messages are displayed: either using OutputDebugString,
a system-modal MessageBox, or not at all.
Bug fixes:
- DPlot crashed with formulas used in Y=f(X) and other commands if the formula contained a superfluous leading
equal sign, as in "Y=X+5" instead of the correct "X+5".
- Version 1.8.2 used several functions from WS2_32.DLL, which is distributed with all Windows versions after
Windows 95 Service Pack 2, but not with the original Windows 95. This prevented DPlot from running on
some Windows 95 systems. This code has been removed.
- Interpolation routine used by the Interpolate menu command incorrectly used linear interpolation on
plots with a probability scale on the X axis. Thanks to Michael Duncan for pointing out the problem.
- In previous versions it was possible to save a DPlot file that contained a curve with 0 points. This would cause
DPlot to crash when the file was re-read. This situation might have occurred as the result of a macro using the
SelectCurve command for which the curve index was greater than the number of curves, after which no new
points were added to the new curve. Thanks to Karin Heider for pointing out the problem.
- DPlot did not properly save notes that consisted of a single character.
- ManualScale macro/DDE command did not allow you to specify the Z extents for a 3D plot.
- DPlot files saved while in data processing mode may or may not have had data processing mode turned on automatically
when the file was re-read.
- Filter command for XY plots would crash if you selected the Press notch filter with
"reject frequency" set to 0.
- DPlot Jr only: Log scale tick labels menu command was missing, and SymbolType documentation was
outdated.
- Color selections used in 1D plots on a 256-color display were not used correctly. This problem was chiefly apparent
with multiple open documents using different color palettes.
19 June 2003
Version 1.8.2
- Added Amplitude Limits menu command and corresponding YCutoff DDE/macro command. This allows you to
specify the upper and lower limits outside which data points will be ignored. Line segments will not be drawn to
or from these points. In this way you can create gaps in your curves. This is particularly handy for plotting
data with sign-changing asymptotes, like tan(x).
- Added controls to the Titles, Legend/Labels, and Note dialogs to embed color codes within text entries.
- DPlot now does a much better job with clipboard metafiles in general and with enhanced metafiles containing embedded formatting
codes (subscript, superscript, etc.) in particular. Previous versions of DPlot always copied a standard Windows metafile to the
clipboard; conversion to an enhanced metafile was left up to Windows. This left quite a bit to be desired with character
placement of subscripts and superscripts. One additional benefit of this change is that enhanced metafiles can in general be stretched
or compressed within reason and all of the text entries, including the box around the legend, will be scaled correctly. Scaling was
a hit-or-miss proposition with previous versions.
- Contour plots now have an option to draw grid lines at the X and Y tick marks, in addition to or instead of the lines bordering
the triangular mesh or rectangular grid cells.
- For developers, the ManualScale command now behaves with XYXY in much the same way as it does with XY:
If an incoming X value exceeds the upper limit of X, DPlot pans to the right by 1/2 of the X extents.
- Font colors are saved to DPlot files. In all previous versions colors were initialized to black, regardless of your
previous color selections.
- Bug fixes:
- Legend on both 2D and 3D contour plots was printed in the wrong location, depending on what the print margins were set
to.
- Previous change to Smooth command allowing you to smooth a subset of the data introduced a new bug that caused
this command to crash in some circumstances. Thanks to Jean-Louis Oneto for pointing out the problem.
- Clicking the close (X) button (rather than the Cancel button) on any of the Edit Data dialogs would cause DPlot
to crash on some versions of Windows.
- Copy/Move Curves was prone to produce needless "insufficient memory" errors if you attempted to copy
a large number of data points (say, 1 million) to a document that had a large maximum number of curves, e.g. 100. Reallocation
is handled better now, only allocating memory for however many curves are actually needed rather than preserving the
previous maximum.
1 June 2003
Version 1.8.1.2
- Added a workaround to make box and whisker plots be recreated correctly in metafiles pasted from the Clipboard in Microsoft Office 2000
products. In previous versions, if most or all of the plot options were enabled (outliers, extremes, etc.) then a glitch in Office
products caused them to lose track of the current drawing pen, resulting in (usually) whiskers not being drawn.
- Bug fixes:
- DPlot's formatting codes for subscripts, superscripts, Greek characters, etc., are now supported on axis labels of 3D plots. Thanks
to John Spalding for the prod to get this working.
- Also related to 3D plots, Generate Mesh command did not properly transfer axis labels from the source plot to the generated
plot.
- The triangulation routine used for random 3D points attempts to create non-slender triangles, which is as it should be. But in
previous versions of DPlot, units (and therefore data extents) were ignored. This had the unfortunate effect of creating a plot
consisting of very slender triangles if the X extents differed significantly from the Y extents. In this version, DPlot temporarily
squares up the X and Y values by scaling one or the other of those coordinates, resulting in a much better contour plot for
data with differing X and Y units. Hats off to Ralph Baird for pointing out the problem.
- If a non-zero pen width was used for the coordinate axes, symbols lying exactly at an axis extent were not drawn. This version takes
the axis pen width into account and properly draws those symbols.
- If manually-entered extents were used to reverse the direction of the Y axis, the values for a second dependent Y axis were drawn
incorrectly if Box Around Curves (rather than Grid lines) was used.
- Box and whisker plots copied to the Clipboard as metafiles were not clipped properly if you used Extents/Tick Marks/Size to
view less than the total extents of the data. Thanks to Colin Wagoner for pointing out the problem.
29 May 2003
Version 1.8.1
- Added 18 new symbol styles, for a current total of 38. Also added an
option to use antialiasing techniques for drawing symbols on 16-, 24-, and 32-bpp displays. See Options>General.
- Added the ability to pan left, right, up and down on zoomed XY plots. No buttons required, just use your keyboard
arrow keys. This has been suggested many times in the past; thanks to Ed Quick for the prod to finally put this
into action.
- Added several new menu commands to specify the frequency of labels on logarithmic scales. See
Options>Log Scale Tick Labels.
- In response to several inquiries along the lines of "How do I change the order of the legend?" we've added two new
commands to the right-click menu for the legend: Move up and Move down and a new Reorder Curves
command on the View menu. Reorder Curves replaces the less useful Bring to Front and Send to Back
commands.
- For new users, the How do I? section of the Help file now includes step-by-step instructions for creating many of the
example plots distributed with DPlot.
- Added Median of All Curves command to the Generate menu, and corresponding Medians()
macro/DDE command. This command produces a new curve consisting of the median amplitudes of all existing
curves. Thanks to Mason Guy for the suggestion.
- Added Swap X,Y command to the Edit menu for 3D plots. This option might be useful if, for example,
your 3D input files are ordered latitude, longitude, elevation (rather than longitude, latitude, elevation).
Thanks to Risto Salo for the suggestion.
- Multiple column files containing X-Y data may now include a data row ID character string, specified at the time the file is
opened. Thanks to Nick Cooper for the suggestion.
- For unequally spaced points, the Differentiate command now uses a central difference method for calculating
slope. Previous versions used an inverse trapezoidal rule. While technically correct, this generally resulted in
roundoff errors being propogated forward and giving increasingly bad results with increasing X. Thanks to
Sukhdeo Karade for the suggestion.
- For box-and-whisker plots and dot graphs, you may now specify the color of the line used to depict the grand
mean or median. Changed Stat_GrandMean macro/DDE command to include an optional color parameter.
- Y=f(X) command now allows you to enter a from X value smaller than to X.
- Changed LineType and SymbolType macro/DDE commands so that you can easily set the line and symbol
types for all curves to the same value with one command.
- Added ColumnsAre macro/DDE command to tell DPlot that multiple column files subsequently opened with FileOpen or
ForFilesIn commands should be interpeted as alternating columns of X and Y rather than the default one X column with
multiple Y columns.
- Bug fixes:
- Fixed the default extents for box-and-whisker plots such that whiskers (if drawn) will not be clipped.
- Macro/DDE command names that included an underscore character were not processed properly by the macro
facility.
- Last version's fix to small roundoff problems did not work properly for negative values used for
user-defined extents on X-Y plots.
- DivideCurves macro command did not work. Thanks to Michael Sears for pointing out the problem.
- Zooming on XY plots with multiple Y scales sometimes produced illogical extents on the second Y axis.
- Labels for multiple Y axes with a probability scale on X and linear scale on Y were incorrect. Thanks
to Kirt Harle for pointing out the problem.
- Several problems with color mapping on 256-color displays have been corrected. These problems were a
byproduct of a fairly recent change allowing unique color palettes for each open document.
- Licensed version only:
- Added inverse polynomial (y=1/(A+Bx+Cx^2+...)) to the curve fitting plugin.
- Added file import plugin to read raw data files consisting of 8-, 16-, or 32-bit signed or
unsigned data, with either Intel or Motorola byte order.
26 April 2003
Version 1.8.0.2
- Previous versions did not draw symbols at data points lying on the X or Y axis extents.
- Bug fix: The equation parser (used by Y=f(X), etc.) crashed if your equation contained an operator
(+,-,*,/,^) followed by a negative number not enclosed by parentheses. The parser also failed to trap
the error of raising zero to a negative power.
- Bug fix: Probability scales on the X axis bombed for X values outside the range 0.01-99.99. In this version the X axis
is treated identically to the Y axis: values outside the range 0.001-99.999 are clipped.
- Bug fix: Small roundoff errors when using user-defined extents might have caused incorrect extents to be used.
- Added Combine Curves command to the Edit menu. This allows you to append the data values from one
curve to another curve. Added corresponding CombineCurves macro/DDE command
13 March 2003
Version 1.8.0.1
- Bug fix: The equation parser (used by Y=f(X), etc.) crashed if your equation included an operator followed
by a number with a leading decimal point. For example, Y=X*.25 crashed, while Y=X*0.25 worked.
- Bug fix: Equation parser did not correctly interpret numbers using scientific notation (i.e. 1.5E+3). In most
cases this resulted in the number being interpreted as 0.
10 March 2003
Version 1.8
- Point label placement on XY plots is now more consistent and less annoying. Previous versions were prone to
shift labels around in an effort to ensure good arrow placement. In this version, labels stay where you put
them and the arrow anchor point will shift to one of the 4 sides of the label as needed. Added a setting to
draw labels turned 90 degrees. And last, you may now include up to 50 labels in a single plot (previous
limit was 20).
- Both major and minor grid lines on XY plots may now be drawn with a line style other than solid lines. Also added
missing support for Dense Grid Lines setting to polar plots.
- Added Powers of 10 number formatting. This is a nice enhancement over scientific notation (e.g. 1.45E+3)
- Smooth command on the Edit menu has been modified to allow you to operate only on points between
specified limits. The corresponding EditSmooth macro command has likewise been modified. Thanks to Dr.
Thierry Picornell for the suggestion.
- Bug fix: Corrected placement of Y and Z axis labels on triangle plots for output to metafiles.
- Bug fix: Depending on the version of Windows in use, DPlot would either crash or produce a bogus error message
when reading .CSV files containing X,Y,Z points (file type K) if the file contained one or more extra blank
lines at the end of the file.
- View>Playback command now has the ability to view an AVI file along with your data, played frame-by-frame
in sync with your data at the speed you specify. The majority of users who read this will scratch their heads
and wonder what the point of this is. If, on the other hand, you spend hour after hour analyzing video footage
and megabyte upon megabyte of data recorder output from high-speed events (things that go BOOM, for example),
you'll most likely find this addition to be very, very,.... very cool.
- Added SymbolFrequency macro/DDE command for XY plots. Thanks to David McDaniel for pointing out the
oversight.
- Changed both the plugin and DDE interfaces to allow you to plot and/or operate on up to 100 curves/plot, and
work with legend entries of up to 80 characters. Previous limits matched those of older versions of DPlot
(20 curves/plot, 40 character legend entries). This change will not break existing plugins or
applications sending data to DPlot.
DPlot Jr/DPLOTLIB.DLL
DPlot Jr distribution now includes DPLOTLIB.DLL and several new example programs using DPLOTLIB.
Additions to DPLOTLIB:
- DPlot_PlotToRect is similar to DPlot_Plot, but starts up DPlot (or DPlot Jr) in a hidden state and
draws the plot to a caller-specified rectangle in a specified window. The picture is not preserved in any way,
so that if it is covered by another window it is then basically gone for good. You may, however, be able to think
of several applications where this behavior might be useful. To keep the picture, you need....
- DPlot_PlotBitmap is very nearly identical to DPlot_PlotToRect, but rather than drawing the plot
returns an HBITMAP handle to a bitmap representation of the plot. It is the calling application's
responsibility to then draw the bitmap and delete it when it is no longer needed. Both DPlot_PlotToRect
and DPlot_PlotBitmap clean up after themselves: DPlot will be closed before the function returns,
unless it was already running. To speed things up a bit and avoid starting DPlot every time you want a new
picture, use DPlot_Start (see below)
- DPlot_GetBitmap does not draw anything; it retrieves an HBITMAP handle to a bitmap of a specified plot,
usually, but not necessarily, a plot generated by the calling application. As with DPlot_PlotBitmap, it is
the calling application's responsibility to draw the bitmap and delete it when it is no longer needed.
- DPlot_Start starts up DPlot (or DPlot Jr) with an option to hide it from the user. This function will
also tell you whether DPlot was already running when called, so that you don't annoy the user by closing
DPlot when the user didn't want it closed.
- DPlot_Stop closes DPlot if it is hidden or if no open document windows contain a plot. This
function should only be called if DPlot_Start was used to open DPlot and the program was not already
running.
11 February 2003
Version 1.7.9.2
- Bug fix: (Whoops) New More Curve Fits plugin released yesterday retained debugging code that
would cause the plugin to crash on all systems other than the author's. Very sorry for the inconvenience.
- Bug fix: Baseline Shift plugin did not properly catch the case of the detected arrival time occurring
at the first data point in the input. This caused a divide by zero error and... another crash.
- Bug fix: Notes did not work properly with metafiles copied to the Clipboard on Windows 2000 and XP. One other
strange aspect of metafiles that has also been fixed: Office 2000 products displayed black grid lines unless
the grid line width was greater than 1 pixel, though the Windows ClipBook Viewer displayed the correct color.
10 February 2003
Version 1.7.9.1
- Bug fix: Function parser used by Y=f(X) and other commands did not work properly with numbers
containing trailing decimal points if that number was followed by an operator. So even though
"10+x", "10.0+x", and "10.+x" are functionally equivalent, the first two
forms worked as expected but the last form would cause a crash.
- Bug fix: File Append with DPlot files did not work properly unless the maximum array sizes were already
set to values large enough to accommodate the new file.
- Bug fix: Not so much a bug but a design flaw, when opening a file if the number of points
in the file exceeded the current maximum number of points, DPlot would attempt to reallocate the arrays
using the required number of points and the current maximum number of curves. So if, for example, you
had arrays allocated for a maximum of 100 curves and attempted to open a file containing 1 million
points, DPlot would attempt to allocate arrays for 100 million points.
- Bar charts:
- Formatting options have been expanded to include percentage labels instead of or in addition to
amplitude labels.
- Labels may now be placed above bars. Previous version always drew labels just inside the top of
the bar, and bars shorter than the label text did not include the label.
- Bar chart options have been added to the input dialog for Generate>Histogram so that you can
generate a bar chart with the options you want the first time, rather than being required to edit
the options of the new chart.
- Last accepted bar chart options are preserved from session to session and are now the default
options for any new bar charts.
- Bar charts may now include error bars. For best results turn off all labels and use side-by-side
(rather than stacked) bars with multiple data sets.
- Histograms will copy both the 1st and 2nd title line (if one exists) from the source plot. Previous
versions copied the 1st title line only.
- Curvefit plugin (licensed version only):
- Added one new equation form: (Y=A+B*exp(C*X)+D*exp(E*x).
- Improved determination of default initial coefficients for several equation forms.
- Added a max iterations entry that might be useful for the exponential forms that tend to converge
slowly.
- The plugin now takes a bit of preemptive action in forcing coefficients to legal values in the case of the
exponential forms. This change allows a poor initial fit to find a better solution without blowing up with
an overflow error.
6 February 2003
Version 1.7.9
- Added Edit Mode tool which allows you to point/click/edit data points for XY plots and 2D plots of
3D data. For XY plots you may also optionally label the point using this tool.
- For the licensed version only, improved initial estimates for the coefficients in an exponential curve fit.
Previous versions worked well for more-or-less noiseless input, but not well at all with a lot of scatter.
- Added the ability to import macros from disk. This is useful if you are running DPlot on multiple systems
and/or want to be able to share macros with others with a minimum of fuss. Imported macros will be copied
to the /MACROS folder below DPlot.
- Tick mark intervals for calendar dates (set with the Number Formats command) are now much more
sensible, falling at the 1st and/or the 15th of every month depending on the extents of the data. Previous
versions placed tick marks at equal intervals (equal number of days).
- Custom colors used in contour plots may now be saved and re-opened on the Contour Plot Colors dialog.
Also added color picker controls for each of the six colors. Previous versions required you to enter explicit
r,g,b values for each color. Thanks to
Ukuleles by Kawika's David Hurd for the suggestion.
- For 3D data, added a preview of the contour values to the Contour Plot Options dialog that takes some
of the guesswork out of selecting an appropriate number of intervals, lower limit and/or upper limit.
- DPlot now does a much better job of picking an initial number of contour intervals. Default contour values
will now be some multiple of 1, 1.5, 2, 2.5, 4, or 5 times a power of 10.
- Added ability to label contour lines on the plot, rather than restricting you to using the legend. You control
whether the labels are transparent or opaque, same color as the corresponding line or black, and the frequency
of the labels. This feature will no doubt be tweaked a bit; if you try it and have a suggestion, of course
let us know.
- Added OperateX, OperateY, and OperateZ macro commands, corresponding to the new
menu commands that allow you to manipulate plot coordinates with an equation.
- Bug fix: If you either zoomed in or forced the extents of a 2D plot of contour lines, saved metafiles did
not properly draw the contour lines.
- You may now control the line weight of contour lines on 2D contour plots. Previous versions fixed the line
weight at 1 pixel for display monitors and bitmaps and 0.01 inches for printed output. Thanks to
Herb Sorensen for the suggestion.
- Add a Constant to |X,Y,Z| and Multiply |X,Y,Z| commands have been eliminated in favor of
a more generic Operate on |X,Y,Z| command that allows you to manipulate plot coordinates with an equation
that is a function of X or Y for XY plots or X,Y, and/or Z for 3D plots. Thanks to Dimitris Evangelinos
of the Aristotle University of Thessaloniki for this and the following suggestion.
- Multiple column input files (type D on the Select File Type dialog) may now contain non-numeric columns
within the data, as long as those columns are "surrounded by quotation marks". DPlot will ignore
non-numeric columns, other than to display them on the Specify Columns to Plot dialog.
- Function parsing routine now accepts log10 in addition to logh for base 10 logarithms.
- Bug fix: Saved metafiles (both enhanced and standard Windows) for 2D contour plots did not use the correct font
for numbers along the X and Y axes, and included much more white space than necessary.
- Bug fix: Function parser used in Y=f(X), X=f(T), Y=g(T), and Z=f(X,Y) commands did not
properly trap raising a negative number to a non-integer power. Attempting to perform this operation resulted
in a crash.
- Bug fix: In previous versions if you turned on Data processing mode when more than two curves were present,
then later used Undo to turn data processing mode off, DPlot crashed.
- Bug fix: Negative values on stacked bar charts were not drawn as most would expect, which is to say they were
inconsistent with how Microsoft Excel draws them. New bar labelling feature did not work at all with negative
values.
17 January 2003
Version 1.7.8
- Added Playback command to the View menu, which allows you to animate one or more XY plots.
- Bug fix: DPlot now traps underflow errors on input and truncates offending numbers to 0. In previous versions,
it was possible to read a file or paste data from the clipboard that contained values with magnitudes less than
1.17549E-38 (roughly the limit for single precision floating point numbers). This behavior could eventually
cause a crash, usually when writing a file to disk. Thanks to James Drake for pointing out the problem.
- Bug fix: Math errors (divide by zero, for example) in the function parsing routines used by Y=f(X), etc.
caused a crash on Windows 2000, regardless of whether Prevent divide by zero was checked.
- Bug fix: The last several versions failed to detect any of the data recorder file formats when
a file of that format was dropped onto DPlot's window. This version should successfully
identify any of the supported data recorder file formats without user intervention.
- Moved bar chart formatting options from the main menu to a separate dialog and added Bar amplitude labels
option. If checked, labels showing the height of each bar are drawn near the top of the bar. BarChartStyle
macro command has been expanded to include flags for stacked bars and bar labels.
- Added GenerateMesh macro command to produce a rectangular grid of 3D points from a triangular grid of
random 3D points.
- Several commands on the Edit menu for XY plots now allow you to select multiple curves to operate on. Previous
versions allowed you to operate on all curves or one curve only. Thanks to Susan Blouin for
the suggestion.
- Added RunPlugin macro command, which allows you to run any of the Generate menu's plugin modules from
within a macro or from another program.
- Bug fix: Custom line drawing routine used for XY plots with patterned line styles did not properly handle
(again) densely-spaced data points. Hopefully this version represents the final fix to this problem.
- Bug fix: Label Points command for XY plots improperly placed labels for the first data point in a curve.
- Bug fix: Macro editor improperly overwrote previously saved macro files with new macros if the first 5 letters
of the macro names were identical.
- Added Delete Triangles command to the Edit menu for randomly-spaced 3D points. This command allows you to
select and delete multiple triangles in one pass, an improvement over the right-click context menu command
described below.
- Added a planar interpolation method to the Generate Mesh command for randomly-spaced 3D points. Although
the bivariate interpolation scheme used in this and older versions works very well with smooth surfaces, it
is a very poor interpolator for meshes that have sudden changes in Z. The planar interpolation method
simply maps each generated point to the plane of the triangle that bounds the X,Y coordinates. The resulting
surface will not be as smooth as one produced with the bivariate method, but it will correctly handle
sudden changes in Z.
- Added Number triangles command to the Edit menu for randomly-spaced 3D points. This feature is useful
when deleting triangles from the mesh. Why delete triangles? DPlot will always triangulate a convex mesh
from your input 3D points. Although (given the limited information in the input) this is "correct", it
may not always be what you want. You can now delete triangles from the mesh by right-clicking on triangle N
and selecting Delete Triangle (N), where N is the triangle number.
- Changed the drawing order for 2D contour line plots. In previous versions grid lines were always drawn last,
possibly obscuring the contour lines.
- Relaxed syntax checks when reading DPlot files. In previous versions if a DPlot file contained new settings not
supported by older DPlot versions, an older version of DPlot would balk and refuse to produce a plot. This version
will instead display an error message and suggest that you update DPlot. The key difference is that the plot will
now be displayed.
- Bug fix: For 2D contour plots of random 3D points, if a contour line passed exactly through the vertex of a
triangle then in many cases the contour line segment for that triangle was not drawn.
- You may now specify the color of grid lines. Default grid line color is light gray (r,g,b=192,192,192) for XY
and 1D plots, black for 3D plots. You can change grid line color programmatically using a new setting for the
[Color()] command.
- Bug fix: The last several versions of DPlot have been distributed with a version of FPARSER.DLL (used to
generate data by formula) that did not include exp, sinh, or cosh. These functions have been re-added.
- Bug fix: It was possible to confuse DPlot's "Multiple Print" feature into adding a non-existent
blank document to the list of documents to be printed. This generally led to a crash if you then attempted
to print.
- Added View>Crosshair cursor menu command and corresponding toolbar button. This feature is useful for
visually comparing the amplitude of a point to a reference value. Thanks to Peter Riggs for the suggestion.
Licensed version only
- Added Baseline Shift plugin module. This plugin differs from the Edit
menu command of the same name in that it automatically detects the arrival time in the record, rather than
requiring the user to input the value. Whether this operation is successful or not of course depends on how
noisy the input record is. For more information see the description at the bottom of the
Features page.
- Bug fix: Error checking in the More curve fits plugin has been improved dramatically. Previous versions
had a bad tendency to crash (and take DPlot with it) if math errors occurred (overflow, underflow, division by
zero, etc.). Some equation forms (particularly the power series) tended to produce those errors if care wasn't
taken in the selection of the initial coefficient values.
11 December 2002
Version 1.7.6.1
Corrected a Windows registry entry problem that has existed for quite a while. The problem prevented opening DPlot
files from Explorer if dplot.exe resides in a folder whose name contains spaces, e.g. "c:\program files\dplot".
7 December 2002
Version 1.7.6
- Legend character strings may now be up to 80 characters long. Previous limit was 40.
- Bug fix: For XY plots, the frame surrounding the legend was improperly sized too wide if the legend used any
of the hidden formatting symbols.
- Bug fix: Symbol/Line Styles dialog for XY plots used the wrong color palette to draw example lines and
symbols. This was a side-effect of a recent change giving each document a separate color palette rather than
using a global palette.
- Text notations may now be included on 3D plots.
- The Select Columns to Plot feature for multi-column ASCII files now allows you to interpret the file
as alternating X,Y values rather than the default interpretation of a single X column with one or more Y
columns.
- Added Stacked Bars menu command. This feature controls whether bars in bar charts for multiple data
sets are drawn side-by-side or stacked from bottom to top.
- The behavior of Text>Date has been changed so that the date is updated only when this feature is
turned on and/or when the plot is saved as a DPlot file.
- Added Day of the Week (1=Sun, 2=Mon, etc.) and Month (1=Jan, 2=Feb, etc.) formatting to
Options>Number Formats.
- Bug fix: File>Append with a DPlot file containing manual extent specification may in
some circumstances have caused a crash.
24 November 2002
DPLOTLIB.DLL
Distribution now includes source examples for Borland C++, LCC-WIN32, GNU FORTRAN, and
Microsoft FORTRAN PowerStation 4.0.
13 November 2002
Version 1.7.5
- Added waterfall plots of gridded 3D data. The color options for these plots are currently non-existent.
- Added List Peaks within Range menu command. This is identical to List Peak Values, but
first allows you to specify a range in X with the mouse.
- Added Clear all button to Specify Columns to Plot dialog, which is handy for files with a large
number of data columns.
- Bug fix: Attempting to add 2 or more notes at once (Text>Add/Edit Note) caused DPlot to crash.
- Bug fix: For XY plots, in some circumstances DPlot's custom line-drawing routine would enter an endless loop.
The custom line-drawing routine is used for line styles other than solid, all metafile output, and if
the "UseDPlotClipping" flag in the [Debugging] section of dplot.ini is set to 1.
- Bug fix: DPlot balked at opening the 32nd document, claiming that too many documents were already open
(32 is the limit).
- Bug fix: DPlot did not previously save "Use thousand separator" selection to a DPlot file. This
behavior was actually by design, but was confusing.
4 November 2002
DPLOTLIB.DLL
Corrected a problem in the interface for Compaq Visual FORTRAN.
26 October 2002
Version 1.7.4.1
Previous update introduced a bug related to saving color information in DPlot files. Under some
circumstances reading a newly-saved DPlot file would cause DPlot to crash.
25 October 2002
Version 1.7.4
- Added two new functions to DPLOTLIB.DLL: DPlot_Command
allows you to send one or more command strings to DPlot. DPlot_Request provides a facility for retrieving
information from DPlot.
- Color selections for XY plots are now saved to DPlot files. Also, the global color palette is no longer used,
other than to initialize colors for new documents. So you may now have a different color palette for every open
document.
- Streamlined color selection process for XY plots. DPlot now uses a single color palette for all output devices.
(Previous versions used one palette for printers, another palette for all other devices). A single menu item
has been added to force printed output to be rendered in black and white. If this menu item isn't selected,
B&W printers will simulate the selected color palette with gray shades.
- A recent addition that removed duplicate X,Y values from random 3D points was horribly inefficient on large
data sets. Performance with more than 10000 or so points is quite a bit better in this version.
- FileType macro command will now accept a file import plugin description in place of a file type code.
So if you want, for example, to open all of the WAV audio files in c:\windows (and you have the WAV Audio
plugin distributed with the licensed version), you can:
Directory("c:\windows")
FileType("WAV Audio")
ForFilesIn("*.wav")
NextFile
- Similarly, FileSaveAs macro command will now accept a file export plugin description in place of a file
type code. So if you want, for example, to save JPEG images of all of the DPlot files in a folder (and you've
installed the JPEG export plugin), you could use this macro:
ForFilesIn("*.grf")
DocMaximize()
FileSaveAs("JPEG Picture",".jpg")
FileClose()
NextFile
- For programmers, added optional parameters to the ManualScale command that allow you to specify the
extents of a second, independent Y axis.
- All dialog boxes that allow you to pick a curve from a list composed of curve legends now display those
legends complete with the various text formatting options (subscripts, superscripts, symbols, etc.). Previous
versions removed those formatting codes from the lists, with the result that the legends might have been a
bit more difficult to read.
- 3D plots of random points have been improved a bit. Previous versions included roundoff errors with drawing
grid lines.
- Added an option to draw solid white polygons for the sides of 3D contour plots, extending from the edges of
the surface to the XY plane. These polygons obscure the underside of the surface, and in many cases add
clarity to the plot.
- Bug fix: Version 1.7.3 came close to solving problems with using patterned line styles with a large
number of points, but didn't quite get there.
- Bug fix: Multiple X axes settings (set with Options>Multiple Axes) were not saved to DPlot files properly.
Also related to multiple X axes: secondary X axis label was not placed correctly in metafile output.
16 October 2002
DPLOTLIB.DLL
Made several changes to the VB demo so that it will run either as
a compiled program (worked before) or uncompiled within the VB environment (didn't work).
10 October 2002
DPLOTLIB.DLL
Removed compiler-specific features from FORTRAN examples to the extent possible. Distribution now includes
demo examples for Absoft FORTRAN, Compaq Visual FORTRAN, and WATCOM FORTRAN.
21 September 2002
Version 1.7.3
- You may now have 32 open documents (plots). Previous limit was 8.
- Label Points menu command now allows you to automatically jump to a point with a specified X value,
rather than using the horizontal scrollbar to scan through the points. This is particularly useful with
large data sets. Similarly, added options for placing the label at the point with the maximum or minimum
Y value.
- For programmers, added an options parameter to the TextPointLabel command that allows you to
specify points as described above. Options also allows you to specify the X and Y coordinates for the
label text as relative offsets from the labelled point, rather than absolute position.
- If you previously used PI fractions or PI multiples number formatting on either the X or Y axes, then the
display of X, Y coordinates on both the Scan Points and Point Labels dialogs was a bit ugly
(PI symbol was displayed as {\sp}). This has been corrected.
- Fill Between Curves feature did not work with polar plots. This was intentional and due to a limitation
in older versions that no longer exists. It now works as expected.
- A bit of fine-tuning on axes adjustments with logarithmic scales and multiple independent Y axes. Previous
release was correct, but tended to either clip one or more curves or have axis extents larger than necessary.
- Corrected a couple of problems associated with plotting a very large number of points. If the plot contained
enough points such that consecutive data points were scaled to the same location, the line drawing routine
used for metafiles would skip over that point. This problem did not effect output to the display, printers,
or bitmaps. For all output devices, line styles other than solid would be rendered as solid under
the same circumstances (multiple data points scaled to the same physical location).
- Changed the definition of "dotted" lines to 25% filled-in from the previous 50%. Using the old
definition with line widths greater than 1 dot resulted in solid lines. If this change presents a problem
for anybody, of course let us know and we'll likely add a new
line style.
- Bug fix: Equal Intervals command caused DPlot to crash if the selected curve consisted of only 1
data point or if the X values for the first and last point were equal. Both of these situations now display
an error message rather than bombing.
- The equation parsing menu commands (Y=f(X), X=f(T),Y=g(T), and Z=f(X,Y)) now allow you
to specify angles in degrees or radians. Previously you were required to use radians. So you can now plot,
for example, Y=sin(X) from X=0 to 360 degrees rather than Y=sin(PI*X) from X=0 to 2.
- File type D (multiple columns) used an arbitrary line length of 224 characters to read multi-column files.
Depending on the number of significant figures used in the file and/or the width of each column, this
might have resulted in DPlot reading fewer columns than the file contained. The maximum line length has
been increased to 1024 characters. This will most likely be changed to an unlimited length in a future
version.
- Bug fix: If an additional curve was generated/created/read from a file while zoomed in, and you then
used the Multiple axes command to associate the new curve with a second Y axis, DPlot crashed.
This release solves the problem by zooming out when the Multiple axes command is used in this
way.
30 August 2002
Version 1.7.2
- Fractions number formatting now draws fractions using smaller, shifted characters and generally has a
much better appearance.
- Added an option to control print orientation (landscape or portrait) to the FilePageSetup DDE command.
- Added CurveLabel and Stat_LimitsAsCL DDE commands.
- Curve labels (see Legend/Labels command on the Text menu) may now be up to 40 characters in length.
- Dense Grid Lines selection is now properly saved to preference files.
Bug Fixes
- Corrected a few problems with Dense Grid Lines. If you had previously specified a tick mark interval to
use before selecting Dense Grid Lines, this feature did not work properly. Also, if the tick
mark interval was small enough that DPlot would skip drawing numbers at one or more intervals (to prevent
numbers from overlapping), the dense grid lines associated with the skipped intervals were not drawn. Both of
these problems are fixed.
- Creating a new 3D plot while an XY plot window was open fouled up the data structures for the XY plot and made
it unusable.
25 August 2002
Version 1.7.1
- Added /nonag commandline switch to eliminate the startup nag dialog for the evaluation version.
The primary reason for adding this switch is to allow the C and Visual Basic demo programs to work
properly with the evaluation version. It is not recommended for general use as it will hide
the remaining evaluation period from the end user.
- Added Triangle plot option. See example file ex14.grf in the distribution.
- Fixed a precision problem with the Add a Constant to Y and Multiply Y menu commands that
resulted in the operation not being performed on the first and/or last points in a curve.
- Fill Between Curves now allows you to select a single curve. In this case the area formed by
connecting the first and last points in the curve is filled with the selected pattern. In this way you
can create arbitrarily complex shaded areas on your XY plots.
- Added menu commands (see View menu) to hide/show curves, which might be useful on crowded plots.
These features are also available via drop-down menu when right-clicking on the legend.
- Added Move/Copy Curves command (see Edit menu), which allows you to easily move or copy
multiple curves from one document to an existing or new document. If all curves are moved (rather than
copied) from a document, the document window is automatically closed.
- Added HideCurve, ShowCurve, and MoveCurves DDE/macro commands, which correspond to
the new menu commands mentioned above.
- Added FileNewEx DDE/macro command, which allows you to set the caption of the new document and
control whether this document becomes active or not. This is a handy addition if your application uses
multiple MoveCurves commands to copy curves from several documents to a single new document.
- Fixed a bug with commandline options. Previously if you specified a preferences file using the /s
switch, and that switch was the last parameter specified, then the changes
dictated by the preference file did not take effect until you performed some action that caused the
plot to be redrawn.
- User-specified tick mark intervals were not saved to preference files. If you specified user-defined tick mark
intervals before saving a preferences file, DPlot might have crashed when later re-opening that file due to
the tick intervals being set to 0.
- Plot extents (specified with Extents/Tick Marks/Size command) were not saved to preference files.
This omission was by design, but a friendly user talked us into it.
- Several minor formatting changes to new box-and-whisker plots and dot graphs, plus one bug fix: the lower
limit of the box on median-based box-and-whisker plots was drawn in the incorrect location for all but
the first data group.
- Corrected a problem with contour plots built from random 3D points. In previous versions, the triangulation
routine ungracefully exited if all input points were collinear. This was particularly a problem with
the DDE interface, since the calling application might send data values one row or column at a time. In
this version DPlot checks for all points being collinear and skips the triangulation (and doesn't
attempt to produce a plot).
- Added XYZEx and XYZRegen DDE/macro commands. XYZEx is identical to XYZ with an
additional parameter that specifies whether DPlot should triangulate and replot the data. This is especially
useful if plotting from a Microsoft Excel VBA routine, which limits the maximum command string length to 256
characters. Previously if you used XYZ to plot data from a rectangular grid from Excel, you would
most likely encounter errors due to all points sent being collinear. XYZEx is quite a bit more
efficient than XYZ with large data sets, because you can instruct DPlot not to attempt to triangulate
the data until you are ready to do so. XYZRegen forces DPlot to triangulate and plot the existing
data. This command will most commonly be used after a series of XYZEx commands.
- Added a method for retrieving the caption of the last document created in DPlot from another program. This
feature is useful if your application moves data from one plot to another. Although you can specify the
caption of a document when it is created, DPlot will append a numeric suffix to that caption if a document
with the same caption already exists, so it is fairly easy for your application to become confused about which
document is which. The following lines of Visual Basic code retrieve the last new caption and place it in the
text of "<control>" (a text box or label):
<control>.LinkTopic="DPLOT|System"
<control>.LinkMode=2
<control>.LinkItem="LastNewCaption"
<control>.LinkRequest
<control>.LinkMode=0
- Corrected a scaling problem on XY plots that used multiple independent axes on a logarithmic scale. If the
extents of either axis were not integer powers of 10, the second axis was often drawn incorrectly.
15 July 2002
Version 1.7
- New data type and corresponding plot types: this version includes box-and-whisker
plots and dot graphs for one or more groups of 1D data.
- File>New menu entry now opens a submenu allowing you to specify the plot
type: XY plot, 1D statistics plot, or 3D plot with random points. Previously it
was not possible to start a 3D plot with random points from scratch in DPlot.
Several changes to 3D plots:
- Corrected a problem with random 3D points. In previous versions, DPlot happily
accepted two or more points with identical X and Y components. This did not
cause any problems with the triangulation, which ignored the 2nd and all
subsequent coincident points. However, this situation caused DPlot to
crash when Generate mesh was selected. In this version DPlot removes points
with identical X and Y components, and tells you it has done so.
- Generate mesh now allows you to forego extrapolating values outside the
triangular mesh.
- Generate mesh allows you to specify the number of additional data points
used to estimate partial derivatives at the input points. In most cases the
default value of 4 works nicely. However in some cases more points are needed to
smooth the resulting plot.
- Improved several inefficiencies in the Generate mesh command, making this
feature run considerably faster, particularly with a large number of input points
and/or a large generated grid.
- The same options for specifying axis extents, tick mark interval, and plot size
that are available for XY plots are now also available for both 2D and 3D contour
plots.
- Added a Paste command for random 3D points. The Paste command assumes that
the clipboard contains ASCII text representations of X,Y,Z triplets. These triplets
will be added to an existing plot, and the plot will be re-triangulated.
- Added XYZ macro/DDE command, which allows you to add one or more X,Y,Z
triplets to an existing contour plot consisting of random 3D points.
- Bug fix: Depending on the order that DPlot found Generate plugin dll's on your hard disk,
the corresponding menu commands may have pointed to the incorrect plugin.
- Bug fix: Corrected a minor problem with the custom color picker control that caused it to
use the incorrect font the second time the control was created.
24 June 2002
Version 1.6.9.12
- DPlot will now accept a "curve" consisting of a single data point, and allow
you to create such a curve using Edit>Edit Data.
- Added a text formatting option for enlarging one or more characters in a
text string. This might be useful for equations, particularly those
involving integrals or summations.
- Text formatting options used in the title lines, axis labels, and legend are
now also available for notations.
- Added NumTicks and TickInterval macro/DDE commands.
- For Visual Basic users, a new XYXY DDE command is considerably faster than
all other VB methods of sending data to DPlot. Like the other methods, this
command sends data values as character strings and so isn't as fast as
sending binary data (as in the C demo), but for reasonable size data sets I
believe you'll be pleased with the results. Thanks to Bill Bracco for the
suggestion.
16 June 2002
Version 1.6.9.9
- Several changes to the C and VB demo programs: The VB example contained a bit of outdated information that
prevented the code from launching DPlot correctly. The VB example has also now been compiled so that users
w/o VB can see what's possible. The C example now allows you to retrieve a bitmap of the plot last produced
by the demo and displays that bitmap. This of course isn't particularly useful for the demo but may give
you ideas for your own applications.
- Eliminated a source of confusion in the Point Labels dialog box. In previous versions the
label descriptions in the Select Label dialog were set to initial values and never updated, leading
many users to believe that the curve number and point number selections were malfunctioning.
- Corrected a bug in the rendering code for random 3D points drawn with shaded bands. In previous versions,
triangles that were scaled to a height of 1 pixel caused a divide by zero error and crash.
- Corrected two problems with text notations. Deleting the first notation caused DPlot to crash. Deleting
a note that was "Button-activated" left the non-functioning button on the plot.
New macro/DDE commands:
- AverageAndReplace is identical to AverageAllCurves, but deletes all pre-existing
curves after finding the average.
- InfoInterpolate displays the Interpolate dialog.
- InfoScan displays the Scanning Points dialog for the selected curve.
- MenuHide and MenuShow do exactly what you'd expect. If using MenuHide you should also
hide the toolbar with ViewToolbar.
- SetWindowPos allows you to set the size and position of either the main application window or
of a child document. It also allows you to make the main application window "stay on top".
1 June 2002
Version 1.6.9.7
- Bug fix. If Dense grid lines was selected on a log scale, and the upper extent of the scale was
not an integer power of 10 (5, for example), then the intermediate grid lines were drawn outside the
limits of the plot.
23 May 2002
Version 1.6.9.6
- Minor fix to a bug introduced in 1.695: When presenting a list of curves in a list box, older versions
displayed the entire legend text for a curve, including formatting codes for subscripts, superscripts, etc.
Version 1.695 cleaned up those list entries by eliminating those formatting codes, but did a poor job of
it. Under some circumstances this "fix" resulted in nonsense entries in the curve list.
21 May 2002
Version 1.6.9.5
- Added a Z axis label input for contour plots. The label is only drawn for plots viewed in 3D with
Draw Axes checked.
- Added an option to always use the displayed colors for printed output (rather than using a separate
printer color palette). See Options>General.
- Text labels may now include bold, italic, and underline attributes as well as subscripts, superscripts,
and symbols.
- Added Microsoft Excel macro examples to the distribution.
Macros/DDE:
- ForFilesIn may now be used to append files to the same document, rather than opening each
file in a separate document window.
- FileOpen, FileAppend, and the ForFilesIn macros handle long filenames a bit
better than previous versions.
- The Directory macro command now works correctly in conjunction with FileOpen and
FileAppend.
- Fixed macro editor so that opening too many document windows with a ForFilesIn loop will abort
the macro, rather than pounding you with a continuous stream of error messages for all remaining files
in the loop.
- Added several new DDE/macro commands: Contour3D, ContourAxes, ContourGrid,
ContourLevels, ContourView, GetPreferences and UseNameAsLegend. See the Help
topic Executing DPlot commands from another application for more information.
- Programmers may now add a series of DDE execute commands to the end of the data for your XTYP_POKE
transactions when operating DPlot via DDE from another application. The main result of this change is
that you may now completely control the appearance of a new plot generated by another program in a
single step, without causing DPlot to generate needless document window updates. Programmers should
see the demo.c demonstration program for an example.
Bug fixes:
- In previous versions the "Use Name as Legend" feature did not work particularly well with
the File>Append menu command, and resulted in a faulty legend.
- Fixed a program-crashing bug that sometimes occurred when closing an XY plot window then opening a
contour plot.
- A roundoff error in the 3D routines caused an inconsistency in appearance between 3D and 2D views.
- Tabstops in notations are handled a bit differently and should now be drawn correctly for all tabstop
values. In previous versions the code was prone to clipping tabbed text if the tabstop value was not
a multiple of 8.
- Added imagehlp.dll to the distribution for Windows 95 users who do not already have this file. This
change will not affect users of other operating systems.
27 March 2002
Version 1.6.9
- For grain size distribution plots, you may specify which sieve size labels are drawn rather than
allowing DPlot to make the decision for you. You can also elect to draw heavy dashed vertical lines
at the material type boundaries. See Options>Linear/Log Scaling>Grain Size Options. Thanks to Jim
Robertson for the suggestions.
- Zoom is now enabled for 2D contour plots generated from random 3D points.
- 3D data on a rectangular grid (as opposed to random 3D points) may now be saved as a CSV
(comma-separated values) file.
- The Specify Columns to Plot dialog for multi-column input files now shows the actual column
headings (if present in the file) in addition to the less useful "Column 1",
"Column 2", etc.
- Unlimited number of text notations.
- A new triangulation algorithm for random 3D points has been implemented and is insanely faster than the
previous method for a large number of points. By way of example, triangulation of 100,000 points now takes
about 1.6 seconds on a 1.4Ghz PC while the previous version took about 17 minutes for the same data. The
comparisons are even more dramatic for larger data sets.
- All contour plots now use the limits specified on the Contour Options dialog. Previously, shaded band
plots divided the Z extents of the data evenly and ignored user input for limits.
- You may now edit up to 16384 X,Y pairs using the Edit Data command. The previous version was limited to
1024 points.
- The code now does a much better job of using the extents you specify with Extents/Tick Marks/Size.
17 February 2002
Version 1.6.7
- Error bars. Errors may be expressed as absolute values or as a percentage of the amplitude.
- Fixed a couple of bugs introduced in last interim release: Options>General options were not properly preserved,
and unchecking "Use thousands separator" on the Number Formats dialog caused the program to crash.
6 February 2002
Version 1.6.4
- Added interface for file export plugins. See the Help file for more information.
- Licensed version is now distributed separately, and includes 5 new plugin modules that extend DPlot's
functionality. See the Features page for more information.
- 3D Plot changes:
- Added a global option to automatically adjust the X, Y and Z scale factors of contour plots such that the plot
is square in the XY plane and the Z extents appear to be roughly 1/2 that of X and Y. See the General
command on the Options menu. This might be useful if you frequently plot data sets that have X and Y
in different units or if the extents are quite a bit different. Previously, DPlot made the adjustment to X and
Y scale factors automatically only if the X and Y extents differed by a factor of 10 or more. All scale
factors may be changed on the Contour Options dialog, regardless of whether this option is set or not.
- Added an Apply button to the Contour Options dialog that allows you to see the results of your
changes without closing the dialog.
- File type K (random 3D points) may now contain 3 title lines and X and Y axis labels.
- DPlot now checks file type K (random 3D points) to see whether all data values lie on a rectangular grid. If
so, it uses that information to triangulate the surface rather than the much more compute-intensive general
purpose triangulation code that it previously used. For large data sets this change makes a huge difference in
processing time.
- Contour plot settings are saved to preference files. Thanks to Nolan Davis for all of these suggestions on
3D plots.
- Commandline interface has been improved in that you are no longer limited to a single commandline parameter. You
may now specify a preferences file in addition to multiple files to open. NOTE: The nag screen of the
evaluation version prevents the commandline parameters from working correctly if DPlot is not already running.
The licensed version (which does not display the nag screen) does not have this limitation.
- Fixed a bug introduced in version 1.6 with the new Undo feature. "Data processing mode" did not work
properly in that version. Thanks to Angela Eubanks for pointing out the problem.
- And another Undo-related bug... inches/mm selection in the "Extents" dialog did not function
correctly.
27 January 2002
Version 1.6.2
A couple of bug fixes to the plugin interface:
- If a fileimport plugin failed because the X and Y arrays were too small, DPlot botched up the attempt to resize
those arrays and try again.
- Line and symbol styles for an existing plot were wiped out when calling a plugin under some circumstances.
14 January 2002
Version 1.6
- Undo feature allows you to undo the last 8 operations. Since individual macro commands cannot be undone, a
Saveundo macro command was added to preserve the plot state before running macros.
- You may specify the frequency of symbols, rather than automatically drawing symbols at every point.
- Added an option to each of the function commands (Y=f(X), etc.) to prevent divide by zero errors. DPlot has always
gracefully trapped a divide by 0. The difference is that you may now automatically shift the independent variable
by a small value so that the error doesn't occur. This might be useful for plotting functions that would
otherwise result in an error at a specific value, e.g. sin(x)/x at x=0.
- Added "Pi Multiples" and "Pi Fractions" number formatting. Thanks
to Brian Smither for the suggestion.
- DPlot accepts "PI", "pi", or "Pi" as the constant 3.1415926... in each of the 3 function generation menu commands.
- Relaxed the test for constant spacing a bit. Some operations (FFT in particular) require that a data record
have a constant spacing, so DPlot checks for this quality when you use one of those commands. For a very large
number of points (1 million or so), there is an inherent precision problem with determining whether the entire
record has a constant spacing. (This is not a problem with digital recorder files or other file formats which
by definition have a constant spacing.) In this case DPlot would report "This feature requires the data
values to have a constant spacing. Note: This error message may be the result of inadequate numerical
precision." The error message is correct, but of course doesn't solve the problem. This version will
successfully test at least 2 million points for a constant interval.
- Added X and Y scale factors to the contour plot options. Previously, DPlot drew 3D contour plots with the same
scale for X and Y, regardless of the extents in those directions. This might have resulted in an exceptionally
narrow plot. Thanks to Nolan Davis for the suggestion.
12 December 2001
Version 1.5.2
- You may now include subscripts, superscripts, and characters from the Symbol font (Greek characters,
trademark symbols, etc.) in the plot title lines and axis labels.
- Bug fix to Y=f(Y1,Y2) command and any other command that operated on 2 curves. Previous versions crashed
in some circumstances due to a roundoff error. Thanks to Brian Smither for pointing out the problem.
- Bug fix to zoom code. Previous versions were prone to crash when a plot used multiple Y axes.
- Multiple-column format files had an arbitrary limit of 16 columns (X + 15 Y columns). This version has no limit
(other than the maximum number of curves per plot, which is currently 100). Thanks to Henry Young for pointing
out this problem as well as the zoom bug.
- Paste code balked at trailing spaces in the text and reported a not-so-helpful "Error reading numbers".
- Several menu commands have been tossed out in favor of a single input dialog for specifying plot extents, tick
mark interval, and plot size. You can now specify a tick mark interval directly, which has been a confusing
process in the past.
- Better support for export of 2D contour plots to .PDF file using Adobe Distiller. Please note that PDF Writer
produces decidedly chunky contour plots, and currently I have no idea what the problem is. In any case, Distiller
doesn't have this problem and works quite well.
- Fixed several problems with the commandline interface, which was broken in the last several versions.
- Changed the file import plugin interface a bit to distinguish between allowing/disallowing the selection of
multiple files for one plot. (As with all other file types, to select multiple files in the "Open" dialog box,
press and hold the Shift key while selecting.) If you're interested in this sort of thing be sure to download the
new plugin examples.
- Print margins are saved to preference files (using File>Save Preferences).
14 August 2001
Version 1.5.1
- Bug fix to Paste code. Previously the number of data sets that could be copied from the Clipboard was limited
by the length of a character string used to read one row of values. This effectively limited DPlot to pasting
between 3 and 13 new curves. That limitation is now removed, and you can paste up to 100 data sets from 101
columns (X in the first column). Thanks to Ross Ashman for pointing out the problem.
9 August 2001
Version 1.5
- For instrumentation gurus - a fix for problem Pacific 5700 files. Alan Bell pointed out that some Pacific files
claim 16 data segments though the file actually contains 15. In this release DPlot ignores the
number_of_posttrigger_segments field in the header and uses the file size to determine the correct number of
segments. Not an ideal solution, but this is about all we can do if the header info is wrong.
- Fixed a problem with the header info in DPlot macros that was carried over from previous versions of DPlot.
Distributed macros (as well as any you create) should work fine now.
- A good suggestion from Nancy Strong: "Axes at 0" menu command forces axes to be drawn at X=0 and Y=0 (if those
values are within the plot) rather than always drawing axes from the lower-left corner. This option applies
only to linear X, linear Y plots.
- You can plot a function X=f(T), Y=g(T), where T is an independent parameter. This compliments the Y=f(X)
command nicely, but more importantly the formula features of DPlot (Y=f(X), X=f(T),Y=g(T), and new Z=f(X,Y))
do not require the presence of Microsoft Excel. This version of DPlot uses the
MindFly Function Parser from Andreas Hartl to parse formulas. Big thanks to Andreas for this excellent tool.
- DPlot can now work with 3rd-party plugins to read custom file formats or manipulate data in some way that is
not currently handled by DPlot. Source code is provided with plugin examples.
- The big one... DPlot goes 3D. DPlot can produce 2 types of contour plots - contour lines or shaded color bands
representing different Z values. Input data can be random 3D points or Z values on a rectangular grid. Random 3D
values can be read from a file, pasted from the Clipboard, or sent to DPlot via DDE (see the DEMO.EXE program
in the /C folder below DPlot). Gridded data can be produced via the new Z=f(X,Y) menu command or, again, via DDE.
For random points, DPlot produces a convex mesh of triangles and assumes each triangle is planar. Values
outside the mesh are not plotted.
Starting with randomly-spaced points, you can generate a smoother interpolated grid using the "Generate Mesh"
command on the Options menu.
2002 2004
|
RUNS ON
Windows 10,
Windows 8,
Windows 7, 2008,
Vista, XP, NT,
ME, 2003, 2000,
Windows 98, 95
|
|