Drawing tools

Igor’s drawing tools are useful in page layout and graph windows for highlighting material with boxes, circles and arrows and can also be used to create diagrams. These drawing tools are object-oriented and optimized for the creation of publication quality graphics. All line sizes and object coordinates can be specified using real numbers. For example you can specify that a line thickness be 0.76 points.

You can graphically edit a wave’s data values when it is displayed in a graph; data points can be deleted, added or modified. You can also create new waves by simply drawing them. In control panel windows, you can use the drawing tools to create a fancy background for controls.

Like all other aspects of Igor, drawing tools are fully programmable. This allows programmers to create packages of code that add new graph types to Igor’s repertoire. Although only programmers can create such packages, everyone can make use of them. The drawing tools are available in page layout, graph and control panel windows.

The drawing tool palete includes:

Polygon and Bezier objects can use dashed lines, have a fill color and pattern and can have arrow heads.

Double-clicking on an object leads to a dialog where the object’s properties can be adjusted.

modify rectangle dialog

Coordinate Systems

A unique feature of Igor’s drawing tools is the ability to choose different coordinate systems. You can choose different systems on an object-by-object basis and for X and Y independently. This capability is especially useful in graphs to allow your drawings to adjust to changes in window size or to changes in axis scaling. Coordinate systems include:


Layers allow you to control the front-to-back layering of drawing objects relative to other window components. For example, if you want to demarcate a region of interest in a graph, you can draw a shaded rectangle into a layer behind the graph traces.

Each window type supports a number of separate drawing layers. For example, in graphs Igor provides seven drawing layers:

drawing layers in a graph: ProgBack;UserBack;ProgAxes;UserAxes;ProgFront;UserFront;Overlay

The drawing layers (ProgBack, UserBack, ProgAxes, UserAxes, ProgFront, UserFront, and Overlay) are listed top-to-bottom in back-to-front drawing order, and show their layering with respect to other elements of the graph.

Separate layers are provided for user drawings and for programmatically created drawings.