Graph Software for Scientists and Engineers

Features

Try DPlot for yourself
The downloadable trial version of DPlot is a fully functional time-limited demo. The licensed version of DPlot includes additional modules described at the bottom of this page. Both versions of DPlot include these features:
  • Multiple scaling types, including linear, logarithmic, and probability scales on the X and/or Y axes. DPlot also provides several special purpose scale types, including grain size distribution plots, tripartite grids (shock spectra), polar charts, triangle plots, N1.85 hydraulic scales, and Mercator projection.
     
    Probability scale used with the cumulative distribution of a normally distributed variable. See the Probability Scale page for more information.
    Grain size distribution plot, typically used in sieve analyses. For more information see the Grain Size Distributions page.
    Tripartite plot, used for shock spectra plots and vibration analyses. See the Tripartite Plot page for more information and available options.
    Probability
    scale
    Grain size
    distribution plot
    Tripartite
    grid
    Polar plot. See the Polar Chart page for step-by-step instructions to create a polar plot.
    Triangle plot, often used in geologic studies. See the Triangle Plot page for more information.
    N1.85 Hydraulic Scale, normally used to evaluate fire suppression systems and in other hydraulic studies. See the N1.85 Hydraulic Scale page for more information.
    Polar chart Triangle plot N1.85 Hydraulic scale
    Mercator projection, the standard map projection for nautical purposes. See the Mercator Projection page for more information.
    Mercator Projection

     
  • Contour plots of 3D data, shown as contour lines in a plan view of the XY plane or as shaded bands in a 3D projection, optionally with light source shading. DPlot accepts both randomly-spaced 3D points and points on a rectangular grid. For rectangular grids only, DPlot can also produce a waterfall plot, a 3D bar chart, and a simple wireframe mesh.
     
    Contour lines
    Contour lines
    3D projection
    3D projection
    Waterfall plot
    Waterfall plot
    Contour lines 3D projection Waterfall plot
    Wireframe mesh
    Wireframe mesh
    Surface plot with Phong shading
    Surface plot with Phong shading
    Perspective projection
    Perspective projection
    Wireframe mesh Phong shading Perspective projection

     
  • Generate curves from equations of the form:
     
    Y=f(X). For a list of available functions see the Functions page.
    X=f(T), Y=g(T). For a list of available functions see the Functions page.
    Z=f(X,Y). For a list of available functions see the Functions page.
    Y=f(X) X=f(T) & Y=g(T) Z=f(X,Y)

    Along with the standard suite of trigonometric and general math functions, DPlot includes support for conditional formulas of the form if(test,if_true,if_false). And you can generate a new curve that is a function of one or more exising curves with Y=f(X,Y1,Y2,...).
     
  • Use a background image (BMP, GIF, JPG, PNG, or TIF) for your 2D plots:
     
    Old Faithful
    Old Faithful
    GPS recording with a Google Earth background
    GPS recording with a Google Earth background
    Global earthquakes with a background image of the Earth
    Global earthquakes with a background image of the Earth
    Old Faithful GPS recording with a Google Earth background Global earthquakes
    1-pixel wide gradient background
    1-pixel wide gradient background
    Sunspot record
    Sunspot record
    Hotspot detection on a PCB
    Hotspot detection on a PCB
    1-pixel wide gradient background Sunspot record Hotspot detection on a PCB

     
  • Insert images of company logos or other clipart from a BMP, EMF, GIF, JPG, PNG, or TIF file for your 2D plots:
     
    HydeSoft
    Surface map with company logo. For more information see the Insert Image command.
    Surface map with company logo.
    For more information see the Insert Image command.

     
  • Average Curve with Error Bars, error extents equal to the mean minus the extremes, the standard error, or the standard deviation.
     
    Average Curve Input
    Average curve input (with partially transparent symbols)
    Average Curve Output with Error Bar Extents=Extremes
    Average curve output with error bar extents=mean minus extremes
    Average curve input Average curve output with error bar extents=mean minus extremes

     
  • Bar charts with a large number of presentation options.
     
    Bar Chart: Side-by-side bars. For other bar chart options see the Bar Charts page.
    Bar Chart: Stacked bars. For other bar chart options see the Bar Charts page.
    Side-by-side bars Stacked bars

     
  • Box-and-whisker plots and dot graphs for one or more groups of 1D data.
     
    Box-and-whisker plot
    Dot graph
    Box-and-whisker
    plot
    Dot graph

     
  • Multiple independent or dependent scales.
     
    Independent scales
    Independent scales
    Dependent scales
    Dependent scales
    Independent scales Dependent scales

     
  • Easily create blank graph paper. Several examples are shown on the Graph Paper page.
     
  • Error bars with magnitudes set to a constant value, to a percentage of the amplitudes, or independently.
     
    Error bars
    Error bars
    Error bars

     
  • Bubble plots with symbol sizes proportional to a third dimension.
     
    Bubble plot from an equation
    Bubble plot from an equation
    Bubble plot, recent earthquakes
    Bubble plot, recent earthquakes. To see how this plot was created see the Maps page.
    Bubble plot from an equation Bubble plot, recent earthquakes
    For more information see the Maps page.

     
  • Vector plots with vector lengths and colors proportional to a third dimension and angles from a fourth dimension.
     
    Vector plot
    Vector plot
    Vector plot

     
  • Fill between 2 curves, fill the area formed by closing a curve, or fill from a curve to a specified Y value. Choose from seven pre-defined fill patterns or create a custom pattern.
     
    Fill patterns
    Fill patterns
    Fill Patterns

    Fill regions are also useful for solving inequalities and systems of inequalities.
     

  • 3D scatter plots, with up to 100 data sets and colors based on Z value or data set.
     
    3D Scatter Plot - Random spheres
    3D Scatter Plot - Random spheres
    3D Scatter Plot - Airfoil
    3D Scatter Plot - Airfoil
    Spheres Airfoil
    The data for the wing was provided by tools created by SpreadsheetWorld. A nifty animation of the wing was created with Video Edit Magic from a sequence of bitmaps generated by DPlot.

     
  • Choose from 40 symbol styles and/or 7 line styles for your XY plots. You have full control over symbol size, line weight, and color. In addition to the 40 built-in graphic symbols you can use any character from any of the Wingdings fonts included with Windows.
    Line and symbol styles
  • Choose from a variety of number formats for each axis. Date and time formats are customizable.
     
    Number formats
     
  • Replace or supplement the numbers appearing along each axis with custom labels.
     
    Custom labels
    Custom labels
    Custom labels

     
  • Copy and/or link data from other sources (e.g. spreadsheets), or use our Excel Add-In to easily move data from Excel to DPlot.
     
    Copy data
    Copy data
    Excel Add-In
    Excel Add-In. For more information about the Add-In's capabilities see Using the DPlot Interface Add-In for Microsoft Excel in the Online Manual.
    Copy data Excel Add-In

     
  • Copy and/or link DPlot-produced graphics to other applications.
     
  • Add text notations
    Text Notations
     to plots.
     
  • Least squares curve fitting allows you to fit a polynomial to your data.
     
    Curve fit
    Curve fit
    Curve fit

    The licensed version includes a more general curve fitting routine. See below for more information.
     
  • Data manipulation functions include integration, differentiation, Fast Fourier Transform, filtering, data smoothing, and many other simpler editing functions.
     
    Integration
    Integration
    Fast Fourier Transform
    Fast Fourier Transform
    Filtering
    Filtering
    Integration FFT Filtering

     
  • If you have several data records from the same high-speed event and want to play back those records in sync with each other... well, you can. Have a video associated with your data? Play the video back along with your data, synchronized at the data rate you specify. Click the picture below to see a reduced-resolution example of this feature in action.
     
    AVI playback
    AVI Playback

     
  • Interpolate between points, scan values
    Scan values
    of curves graphically, and report peak values.
     
  • Include subscripts, superscripts, and characters from the Symbol font
    Subscripts, superscripts, Greek characters
    (Greek characters, trademark symbols, etc.) in the title lines and axis labels of your plots.
     
  • Plot very large data sets. For XY plots, the total number of data points is limited to about 268 million.
     
  • Create commercial-quality blank graph paper. For examples and instructions see the Graph Paper page.
     
  • Send data to and control DPlot from another program through the DPLOTLIB interface. Example programs with source for Visual Basic, VB.NET, PowerBasic, 4 different C compilers, 5 different FORTRAN compilers, and Delphi are provided.
     
    DPLOTLIB demo
    DPLOTLIB demo
    DPLOTLIB Demo

     
  • You may create additional functionality with your own plugin modules for file import and data manipulation. Example C plugin source code is provided with the Plugin Examples.
     
Optional modules

All image export plugins mentioned below make use of the excellent FreeImage DLL, a toolkit for developers interested in supporting a variety of image formats.

For all bitmap image exports mentioned below, you can save an image in any resolution and, when applicable, to either 8- or 24-bit color depth. The resolution setting is often of importance when submitting a graph for publication; DPlot has you covered. You can save an image in any resolution and to any size that your system is capable of handling.
 


  • Bitmap export
    Bitmap export, RLE compressed, 77Kb
    . Choose from 8- or 24-bit color depth, and optionally choose run-length encoding for 8-bit files. Though RLE-encoding of bitmaps is not often used, it is supported by most popular graphics applications and results in a significantly smaller file for typical DPlot graphs. By way of example, the size of the linked picture is 77Kb with RLE compression, or 431Kb uncompressed, or 1285Kb if you used copy/paste of the same image with a 24- or 32-bit display.
     
  • JPEG image export
    JPEG image export, 96Kb
    . The plugin automatically selects "good" quality, which is about the minimum acceptable quality that doesn't produce too many unsightly artifacts. The same picture saved as an RLE bitmap is stored to a 96Kb JPEG file. For a better quality plot in a smaller file, we highly recommend PNG.
     
  • Portable Network Graphics (PNG) image export
    Portable Network Graphics (PNG) image export, 28Kb
    . Unlike JPEG, PNG compression is lossless. And unlike GIF, 24- or 32-bit images can be saved. Compression of DPlot plots is generally superior to the poorest quality JPEG files and is generally comparable to GIF. By way of comparison, the BMP example mentioned above is saved to a 28Kb PNG file.
     
  • Graphic Interchange Format (GIF) image export
    Graphic Interchange Format (GIF) image export, 40Kb
    . This image is saved to a 40Kb GIF file. Like all GIF images, it is limited to 256 colors. For XY plots this is generally not a limitation, but may result in loss of detail in 3D images with many colors.
     
  • Tagged Image File Format (TIFF) image export. This plugin will always use LZW compression. Files saved with this plugin will generally be larger than the corresponding PNG image.
     
  • Garmin GPX/Training Center files
    This plugin will read GPX files from most Garmin devices as well as Garmin Training Center TCX files, and produce a plot of latitude vs. longitude, altitude, speed and heartrate vs. elapsed time, altitude, speed and heartrate vs. date/time, and/or altitude, speed and heartrate vs. distance. (Heartrate not available with all files for obvious reasons.) This plugin may work with GPX files from other sources. If you have a GPX file that does not work properly with this plugin, let us know at support@dplot.com and it is possible we'll be able to add support for your file.
    Latitude vs. Longitude from Garmin Edge 205
    Latitude vs. Longitude from Garmin Edge 205
    Elevation vs. Distance from Garmin Edge 205
    Elevation vs. Distance from Garmin Edge 205

     
  • NASA Shuttle Radar Topography Mission (SRTM) Elevation data
    In February 2000 the Space Shuttle Endeavour flew an 11-day mission to map elevations for nearly all of the Earth's surface. Data files in 1°x1° blocks are available free of charge from the SRTM web site. For the United States these files consist of elevations at 1 arc-second intervals (roughly every 85 feet); for the remainder of the world the interval is 3 arc-seconds. DPlot will read SRTM files and produce a surface plot:
    Vicksburg, from SRTM data
    Vicksburg, from SRTM data. (White areas indicate voids in the data.)
    Pike's Peak, Contour Lines
    Pike's Peak, Contour Lines
    Pike's Peak
    Pike's Peak
      Mount St. Helens
    Mount St. Helens
    Mount St. Helens
    Mount St. Helens

    Please note:

    1. DPlot will handle an entire 1°x1° file from the U.S. consisting of 3601x3601 = 12,967,201 data points in 2D, though it will not handle that data especially quickly. The Pike's Peak plots above took roughly 1 minute to draw on a 2.3Ghz system, for example. If you know your area of interest then you'll save quite a bit of time specifying the extents within the plugin rather than plotting the entire file then zooming in. For a 3D view you will likely be limited to roughly a 20' x 20' grid, unless you skip points using the "Use data from every _ row/column" control or clip the surface using the Crop command on the Edit menu prior to switching to a 3D view.
    2. Do not rename the SRTM files. Or, at least, do not change the first seven characters of the filename. Since these files contain only elevation information and not location, the filename is the only source of information for the latitude/longitude of the data.
    3. For bathymetric (depth below water) data, see the Design-a-Grid application at the National Geophysical Data Center website. That application will allow you to produce a CSV file of longitude, latitude, and depth that may be read directly by DPlot. Ukuleles.com has an excellent example that will walk you through the process, and perhaps help you catch a few fish. Example:
       
    Hilo Hawaii
    Hilo Hawaii
  • Bitmap-to-3D conversion. This module reads an image file (.bmp, .gif, .jpg, .png, .tif, .tga and others) and maps color indices to height values. In the case of bit depths other than 8, the plugin converts the image internally to 256 gray shades. You control the index-to-height relationship, the X and Y dimensions, and the complexity of the generated grid. The plugin has serious uses:
     
    Bitmap-to-3D example
    Bitmap-to-3D example

      as well as not-so-serious uses:
     
    Bitmap-to-3D example
    Bitmap-to-3D example

     
  • Wav audio file import and export. Filter and re-save audio files, or alternatively create your own very annoying chirps and warbles. Hey, I told you it was annoying! If you're wondering, that .wav file was produced with y=sin(1000*Pi*x^2) at 11025 samples/sec (dx=9.07E-5). Please note: The input plugin converts amplitudes to a scale of -1.0 to 1.0, and the export plugin expects the data to be within this range. No errors will result if the data does not fall within this range, but the amplitudes will be clipped.
     
  • Raw data file import. Read 8-, 16-, or 32-bit signed or unsigned integers, in either Intel (little endian) or Motorola (big endian) byte ordering. X values will be generated and correspond to the 0-based number of the point. No scaling is performed; the actual data values are used for the amplitudes (Y values).
     
  • File import for several digital recorders: Tektronix .WFM files, Gould Instrument Systems .DAT files, Hi-Techniques Win600 .DAT files, LeCroy WavePro data files, AMO Saturn Transient Recorder data files, Datataker .DBD files, and LAS Well Log Files.
     
Licensed Version Only
  

The licensed version of DPlot is distributed with several plugin modules that extend its functionality. Plugin modules include:

  • Curve-fitting. This plugin is quite a bit more general than the least squares polynomial curve fits provided with DPlot. Unlike DPlot's standard curve-fitting this plugin allows you to fix one or more coefficients in the equation at a constant value. The plugin currently supports these equation forms:
     
    • y=A+Bx+Cx^2+Dx^3+... (polynomial). Results should be identical to DPlot's curve-fitting algorithm, with the exception that you may hold coefficients to fixed values.
       
    • log(y)=A+Bx+Cx^2+Dx^3+...
       
    • y=1/(A+Bx+Cx^2+...)
       
    • y=A+B*sin(Cx+D) (sinusoid)
       
    • y=Ax/(B+x)
       
    • y=(Ax+B)/(x+C)
       
    • y=A+B*exp(Cx)
       
    • y=A+B*exp((Cx)^D)
       
    • y=A+B*exp(Cx)+D*exp(Ex)
       
    • y=Ax^B + Cx^D + Ex^F + ... (power series)
       
    • y=Pso[1-(t-ta)/td)]*exp[-a*(t-ta)/td)] (Friedlander's equation)
       
    • y=Pso[1-((t-ta)/td)^(1/a)]*exp[-a*((t-ta)/td)^(1/a)] (Balanced Friendlander's equation: allows negative phase)
       
    • y=A + B/[1+10^(Cx+D)] (dose response)
       
    • y=(A+B*sin(Cx+D))*exp(Ex) (decaying sinusoid)
       
    • y=A(x+B)^C
       
    • y=A*cosh((x+B)/A) (Catenary curve)
       
    • y=A*sqrt(B*(x+C))/(1+sqrt(B*(x+C)))
       
    • y=A*(B*(x+C))^D/(1+(B*(x+C))^D)
       
    • y=A*cosh(B*X+C)+D
       
    • y=A*sinh(B*X+C)+D
       
    • y=A*tanh(B*X+C)+D
       
    Of course if you have a preference that isn't shown above, contact us and you may see it in the next version.
     
  • Baseline shift. This routine differs from the Edit menu command of the same name in that it will automatically select the time at which the integral of the record should be zero. For explosive events this generally means finding the arrival time of the shock. This is a big time-saver for those involved in data processing, particularly if used in a macro with the RunPlugin command. The procedure is described in detail on the Baseline Shift page.
     
  • Moving average. Choose from prior (identical to Excel's moving average feature), central, or cumulative. For more information see the blog entry.
     
  • Monthly peak. Useful for finding the peak monthly value within a time series (cumulative daily sales figures, for example).
     
    Monthly peak plugin
    Monthly peak plugin

     
  • Step plot. Doubles the number of data points in a curve to give a stepped appearance.
     
    Step plot
    Step plot
$
195.
00
"Love DPlot! What a great science tool.

I was so pleased to find such a terrific plot capability, especially for 3D contour plots, which was the need that drove my search and led me to DPlot. And it's an order of magnitude less costly than comparable plotting capability from larger and less personal organizations. And the personal assistance of DPlot's creator by phone and through the web forum was invaluable."

Love DPlot! What a great science tool.

I was so pleased to find such a terrific plot capability, especially for 3D contour plots, which was the need that drove my search and led me to DPlot. And it's an order of magnitude less costly than comparable plotting capability from larger and less personal organizations. And the personal assistance of DPlot's creator by phone and through the web forum was invaluable.

The 3D plot below is an example of results obtained using DPlot. It is an accurate 3D contour plot depiction of round brilliant diamond light performance, as a function of crown and pavilion main angles. It represents combined metrics of diamond cut quality from the Gemological Institute of America and the American Gem Society. The "sweet spot" of Ideal diamond beauty and light performance shows up as a plateau at the top of this "light performance mountain". That was the point of this depiction, because many in the diamond trade believe in an "Everest like peak" at one single angle combination such as Tolkowsky's (40.75, 34.5). The three diamond images are photo realistic simulations of two diamonds with the flagged, historically significant, Ideal angle combinations along with the target center of Ideal diamond cutting angles.

Michael D. Cowing
ACA Gem Laboratory

RUNS ON
Windows 10,
Windows 8,
Windows 7, 2008,
Vista, XP, NT,
ME, 2003, 2000,
Windows 98, 95
Copyright © 2023-2024 ARA