Graph Software for Scientists and Engineers

Graph Paper

This page describes creating blank graph paper with DPlot. The examples shown below all assume standard 8.5 x 11 inch paper, though other paper sizes are of course possible. If you'd like to skip over the details of how these paper examples were created, click any of the "example" links below. All examples are in the form of Adobe PDF files and will be opened in a separate window. To view these files you need Adobe® Acrobat or Adobe® Acrobat Reader. Acrobat Reader is a free product that you can get from the Adobe download site.

DescriptionExample
Engineer paperexample
Blue-lined 1/4" gridexample 1
example 2 (10 lines/inch)
Log-log, 4 cycles x 4 cyclesexample
Semi-log (linear X, logarithmic Y)example
Polar plotexample
Grain size distributionexample 1 (U.S. sieves)
example 2 (British sieves)
Tripartite paperexample
Triangle plotexample

Each of the examples below are created in the same way: with a DPlot macro. The macros are a matter of convenience and repeatability only; the same steps taken by each macro may be performed with normal menu commands. Each example follows the same sequence of commands:

  1. Open a new document window (FileNew command).
  2. Set the printer margins (FilePageSetup command). There are a couple of important points here: a) DPlot will always scale down a graph (if necessary) to fit within the margins, and the margins will always be at least the minimum margins for the printer regardless of what you set them to. Minimum margins vary from printer to printer. To find the minimum margins for your printer, select the Page Setup command on the File menu. Enter 0 for each margin value; the Page Setup procedure will override that value as you <tab> away from each margin text box. b) DPlot will always center a graph within the specified margins. If you want precise placement of a graph on the printed page and the graph has no numbers, always use the Size command to specify the size of the box surrounding the graph, and set the printer margins such that the margin values plus the graph width/height are equal to the paper width/height.
  3. Set the colors used for grid lines and the outer boundary of the paper (Color and AxisColor commands). Many of these examples use a light color that will appear washed out on your display, but look good on a printed page.
  4. Add one or two data points to establish the extents of the graph (XYXY command). This "curve" will subsequently be hidden.
  5. Set the scale type (linear, logarithmic, polar, etc.) (Scale command).
  6. Set the major and minor grid line intervals (TickInterval or NumTicks command).
  7. Force the extents of the graph (ManualScale command).
  8. Set the physical size of the box surrounding the graph (Size command).
  9. Set the number formats used for the X and Y axes (NumberFormat command). Many of these examples set the format to "None", such that numbers will not be drawn.
  10. Set the line weights (LineWidth command). Note: In each of the examples below you may not see a difference in line weights between the major and minor grid lines on your display unless you have a very high resolution monitor or you zoom in using your PDF viewer. When printed, however, the difference should be apparent if printed at 300 dpi or higher.
  11. Hide the data points entered with XYXY (HideCurve command).

To create a macro, select the Macro command on the File menu. Enter a name for the macro that you'll create that you will remember next week. Then click the "Edit/Create" button. Select the text below with your mouse for the graph paper type you'd like to create, right-click and select Copy. In the Macro Editor, click the Paste button. For help with a specific macro command, click on the command such that the text insertion point is on the same line as the command, then click the Help button within the Macro Editor.

If you want to assign a shortcut key to the macro, select one of the key combinations in the "Shortcut" list. Then click the "Save" button to save the macro. To now run the macro and create your graph paper, if you used a shortcut key you can simply press that key combination. Otherwise, select the Macro command from the File menu, select your macro from the list, and click "Run"


Engineer paper

This paper is typically used by engineers and engineering students. It has a 7 inch wide by 10 inch tall grid, with major grid lines spaced at one inch and 5 subdivisions every inch.
FileNew()
FilePageSetup(0.4,0.6,1.0,0.5)      ' top, bottom, left, right margins in inches
Color(0,204,255,204)                ' Grid line color (very faint green)
Color(-2,204,255,204)               ' Minor grid line color 
AxisColor(204,255,204)              ' Color of the box surrounding the graph
XYXY(2,0,0,7,10)                    ' Two data points, one at either extreme of the
'                                     graph.
TickInterval(1,1,1)                 ' Major grid lines at 1 unit in both directions
DenseGridLines(5,5)                 ' Each grid division has 5 subdivisions
ManualScale(0,0,7,10)               ' Force the extents of the graph
Size(1,7,10,0)                      ' ...as well as the physical size: 7"w x 10"h
NumberFormat(0,12)                  ' No numbers for either axis
NumberFormat(1,12)
LineWidth(0,10)                     ' Major grid lines are 0.01 inches wide
LineWidth(-1,10)                    ' ...as is the surrounding box
LineWidth(-3,5)                     ' Minor grid lines are 0.005 inches wide
HideCurve(1)                        ' Don't show the "curve"

Result: Engineer Paper.
 


Blue-lined 1/4" grid

A 8 inch wide by 10 inch high grid with major grid lines at 1 inch intervals and minor grid lines every 1/4 inch.
FileNew()
FilePageSetup(0.4,0.6,0.25,0.25)    ' top, bottom, left, right margins in inches
Color(0,204,255,255)                ' Grid line color (very faint cyan)
Color(-2,204,255,255)               ' Minor grid line color (same as above)
AxisColor(204,255,255)              ' Color of the box surrounding the graph
XYXY(2,0,0,8,10)                    ' Two data points, one at either extreme of the
'                                     graph.
TickInterval(1,1,1)                 ' Major grid lines at 1 unit in both directions
DenseGridLines(4,4)                 ' Each grid division has 4 subdivisions
ManualScale(0,0,8,10)               ' Force the extents of the graph
Size(1,8,10,0)                      ' ...as well as the physical size: 8"w x 10"h
NumberFormat(0,12)                  ' No numbers for either axis
NumberFormat(1,12)
LineWidth(0,20)                     ' Major grid lines are 0.02 inches wide
LineWidth(-1,20)                    ' ...as is the surrounding box
LineWidth(-3,10)                    ' Minor grid lines are 0.01 inches wide
HideCurve(1)                        ' Don't show the "curve"

Result: Blue-lined 1/4" grid.

Want more minor grid lines? With DenseGridLines(10,10) you get this paper, with minor grid lines spaced at 0.1 inches.
 


Log-log, 4 cycles x 4 cycles

FileNew()
FilePageSetup(1,3.5,1,1)            ' top, bottom, left, right margins in inches
Color(0,128,192,128)                ' Grid line color
Color(-2,128,192,128)               ' Minor grid line color
AxisColor(128,192,128)              ' Color of the box surrounding the graph
XYXY(2,1,1,10000,10000)             ' Two data points, one at either extreme of the
'                                     graph.
Scale(4)                            ' Log x, Log y
DenseGridLines(2,2)                 ' Any value greater than 1 results in minor grid
'                                     lines at 1.1,1.2,...,4.8,4.9,5.2,5.4,...,9.6,
'                                     9.8 times a power of 10. With these values 
'                                     set to 1, minor grid lines are only drawn at
'                                     integer values times a power of 10.
Size(1,6.5,6.5,0)                   ' Physical size: 6.5"w x 6.5"h
NumberFormat(0,12)                  ' No numbers for either axis
NumberFormat(1,12)
LineWidth(0,10)                     ' Major grid lines are 0.01 inches wide
LineWidth(-1,10)                    ' ...as is the surrounding box
LineWidth(-3,5)                     ' Minor grid lines are 0.005 inches wide
HideCurve(1)                        ' Don't show the "curve"

Result: Log-Log 4 cycle.
 


Semi-log, 10 major divisions on X, 3 log cycles on Y

FileNew()
FilePageSetup(1,3.5,1,1)            ' top, bottom, left, right margins in inches
Color(0,128,192,128)                ' Grid line color
Color(-2,128,192,128)               ' Minor grid line color
AxisColor(128,192,128)              ' Color of the box surrounding the graph
XYXY(2,0,1,10,1000)                 ' Data points at (0,1) and (10,1000)
Scale(2)                            ' Linear x, log y
TickInterval(1,1)                   ' Major grid lines at 1 unit in X direction
DenseGridLines(5,2)                 ' 5 subdivisions in X direction. For log scales,
'                                   ' Any value greater than 1 results in minor
'                                     grid lines at 1.1,1.2,...,4.8,4.9,5.2,5.4,...,
'                                     9.6,9.8 times a power of 10. With this value 
'                                     set to 1, minor grid lines are only drawn at
'                                      integer values times a power of 10.
Size(1,6.5,6.5,0)                   ' Physical size: 6.5"w x 6.5"h
NumberFormat(0,12)                  ' No numbers for either axis
NumberFormat(1,12)
LineWidth(0,10)                     ' Major grid lines are 0.01 inches wide
LineWidth(-1,10)                    ' ...as is the surrounding box
LineWidth(-3,5)                     ' Minor grid lines are 0.005 inches wide
HideCurve(1)                        ' Don't show the "curve"

Result: Semi-log paper.
 


Polar plot

FileNew()
FilePageSetup(0,0,0,0)              ' Full page (minus minimum margins) is usable.
'                                   ' Graph will be centered.
Color(0,128,192,128)                ' Grid line color (light green)
Color(-2,128,192,128)               ' Minor grid line color
AxisColor(128,192,128)              ' Color of the outermost circle
XYXY(1,0,0)                         ' A single data point at 0,0
Scale(8)                            ' Polar plot
NumTicks(1,12)                      ' 12 major grid lines, 360/12=30 degrees
DenseGridLines(6,1)                 ' Minor grid lines at 5 degrees
ManualScale(,0,,10)                 ' Force the extents of the graph (10 units)
Size(1,6,6,0)                       ' 6"w x 6"h (polar plots don't necessarily
'                                     have to be circular; this one will be.
NumberFormat(0,8)                   ' Use PI fractions for the angle values
NumberFormat(1,12)                  '  and no numbers for the amplitude
FontPoints(1,12)                    ' Numbers use 12 pt font
LineWidth(0,10)                     ' Major grid lines are 0.01 inches wide
LineWidth(-1,10)                    ' ...as is the outermost circle
LineWidth(-3,5)                     ' Minor grid lines are 0.005 inches wide
HideCurve(1)                        ' Don't show the "curve"
PolarPlotStyle(0x1020)              ' 0 degrees is labelled (normally it isn't)
'                                     and axial grid lines start at the first
'                                     radial line (default=center)

Result: Polar plot paper.
 


Grain size distribution

A grain size distribution plot is a special purpose graph generally used to depict the results of a sieve analysis, commonly known as a "gradation test". For more information see the Grain Size Distribution page.
FileNew()
FilePageSetup(0,0,0,0)              ' Use entire page (within allowable margins for
'                                     the printer). Graph will be centered on the
'                                     page.
Color(0,204,204,204)                ' Grid line color (very faint gray)
AxisColor(0,0,0)                    ' Color of the box surrounding the graph (black)
XYXY(2,0.001,1,1000,99)             ' Two data points, one at either extreme of the
'                                     graph.
Scale(7)                            ' Grain size distribution plot
TickInterval(1,,10)                 ' Major grid lines at 10 units in Y direction
DenseGridLines(1,1)                 ' No minor grid lines
ManualScale(1000,0,0.001,100)       ' Force the extents of the graph
Size(1,6,6,0)                       ' ...as well as the physical size: 7"w x 10"h
FontPoints(1,10)                    ' Numbers along the axes are 10pt
NumberFormat(0,0)                   ' Default number format
NumberFormat(1,0)
LineWidth(0,10)                     ' Major grid lines are 0.01 inches wide
LineWidth(-1,10)                    ' ...as is the surrounding box
LineWidth(-3,5)                     ' Minor grid lines are 0.005 inches wide
HideCurve(1)                        ' Don't show the "curve"
GrainSizeFlags(0)                   ' Use default grain size options. To see
'                                     available options (specify sieve sizes,
'                                     British sieve sizes, Udden-Wentworth scale,
'                                     and others, within the macro editor place
'                                     the cursor on the GrainSizeFlags line and
'                                     click the Help button.

Result: Grain size distribution paper.

With GrainSizeFlags(0xE0000000) (Udden-Wentworth scale, British sieve sizes, and X increasing from left to right), you get this paper instead.
 


Tripartite paper

A tripartite plot (also known as "four coordinate paper") consists of a logarithmic scale on both the X and Y axes and two additional logarithmic scales that are derived from the X and Y axes by some fixed relationship. For more information see the Tripartite Plot page.
FileNew()
FilePageSetup(0.5,0.5,0.5,0.5)      ' top, bottom, left, right margins in inches
Color(0,204,204,204)                ' Grid line color
AxisColor(0,0,0)                    ' Color of the box surrounding the graph
XYXY(2,0.1,0.01,100,10)             ' From frequency=1-100Hz, Velocity=0.01-10
'                                     inches/sec
Scale(5)                            ' Tripartite grid, assuming x=Hz, y=velocity in
'                                     inches/sec, with 45 degree lines = displacement
'                                     in inches and 135 degree lines = acceleration
'                                     in g's
'                                     Other units:
'                                     0x0105  Hz, feet/sec, feet, and g's
'                                     0x0205  Hz, mm/sec, millimeters, and g's
'                                     0x0305  Hz, cm/sec, centimeters, and g's
'                                     0x0405  Hz, meters/sec, meters, and g's
'                                     0x0505  Period (sec), in/sec, inches, and g's
'                                     0x0605  Period (sec), ft/sec, feet, and g's
'                                     0x0705  Period (sec), mm/sec, mm, and g's
'                                     0x0805  Period (sec), cm/sec, cm, and g's
'                                     0x0905  Period (sec), m/sec, meters, and g's
DenseGridLines(2,2)                 ' Any value greater than 1 results in minor grid
'                                     lines at 1.1,1.2,...,4.8,4.9,5.2,5.4,...,9.6,
'                                     9.8 times a power of 10. With these values set
'                                     to 1, minor grid lines are only drawn at 
'                                     integer values times a power of 10.
Size(1,6.5,6.5,0)                   ' Physical size: 6.5"w x 6.5"h
LineWidth(0,10)                     ' Major grid lines are 0.01 inches wide
LineWidth(-1,10)                    ' ...as is the surrounding box
LineWidth(-3,5)                     ' Minor grid lines are 0.005 inches wide
FontPoints(1,10)                    ' Numbers are 10pt
HideCurve(1)                        ' Don't show the "curve"
TripartiteFlags(0x0001)             ' Draw intermediate acc. and disp. lines

Result: Tripartite paper.
 


Triangle plot

A triangle plot (also known as a ternary plot), is a graph of 3 variables. It is most often used in geologic studies to show the relative compositions of soils and rocks, but it can be more generally applied to any system of three variables. For more information see the Triangle Plot page.
FileNew()
FilePageSetup(0,0,0,0)              ' Full page (minus minimum margins) is usable.
'                                   ' Graph will be centered.
Color(0,192,192,192)                ' Grid line color
AxisColor(0,0,0)                    ' Color of the axes
XYXY(1,0,0)                         ' A single data point at 0,0
Scale(14)                           ' Triangle plot
TickInterval(1,10)                  ' Grid lines at 10,20,30,...,80,90
Size(1,7,7,0)                       ' Plot fits within a 7"w x 7"h box
LineWidth(0,10)                     ' Major grid lines are 0.01 inches wide
LineWidth(-1,20)                    ' Axes are 0.02 inches wide
HideCurve(1)                        ' Don't show the "curve"
XAxisLabel("Sand")
YAxisLabel("Clay")
ZAxisLabel("Silt")
FontPoints(1,12)                    ' Numbers use 12 pt font
FontPoints(4,14)                    ' X axis
FontPoints(5,14)                    ' Y axis
FontPoints(7,10)                    ' "Note" font, used for USDA labels
FontPoints(8,14)                    ' Z axis
TriangleFlags(3)                    ' USDA soil classification lines, clockwise
'                                     orientation

Result: Triangle plot.
 

$
195.
00
 
RUNS ON
Windows 10,
Windows 8,
Windows 7, 2008,
Vista, XP, NT,
ME, 2003, 2000,
Windows 98, 95
Copyright © 2001-2019 Hydesoft Computing, LLC