VaryPlot Manual

VaryPlot 1.3.0.0, November 28th, 2014

Copyright for application and documentation: Rolf Harjung (author@varyplot.com)

Program updates can be found on www.varyplot.com

Contents:

Contents:

Introduction

Working with Curves

Range Setting

Working with Cursors

Graph Properties Dialog

Curve Information Dialog

The Graph Context Menu

Working with Multiple Windows

Working with Multiple Tabs

Working with Digital Graphs

Working with VaryPlot Scripts

Exporting and Printing Graphs

Synchronization with Other Programs

Appendix 1: Menus

Appendix 2: The Toolbar

Appendix 3: Keyboard Shortcuts

Appendix 4: Drag & Drop Operations

Appendix 5: Connect Styles

Appendix 6: Marker Types

Appendix 7: Supported Engineering Prefixes

Appendix 8: Data Files with Header

Appendix 9: Equation Syntax

Appendix 10: Curve Data Manipulation

Appendix 11: Program Options

Appendix 12: Script Language

Appendix 13: Installation

Appendix 14: Glossary

Introduction

The purpose of this program is to visualize data that is either defined by samples in text files or by a mathematical equation as a 2-dimensional xy-graph.

Description: Description: Description: Description: Description: Text2Graph

In the example shown above, the text file consists of 5 rows with 2 columns each. The first column represents the x-coordinates and the second column the y-coordinates. VaryPlot can draw markers at each sample consisting of x- and y-data and can connect the samples if desired. Such a group of samples read from a data file composes a curve. Graphs can be either in analog form or displayed as a timing diagram for digital data. In analog graphs both axes can be either linear or logarithmic.

Each xy-graph can contain multiple curves. Any column of a data file can deliver x- or y-data for a curve. The row number in the text file can also be used as a coordinate and is referred to by column number 0. Data files can be loaded to the graph by using the graph menu, the toolbar button or by dragging and dropping a file to a graph. A standard data file uses the first column as x and the second column as y coordinates (see also Advanced Curve Data Loading).

Column separators are blanks or tabs. Data files can contain numbers in scientific (like 1.5e-9, 7.9e6, 3.6e-3) or engineering format like 1.5n, 7.9M, 3.6u etc. (see Supported Engineering Prefixes).

Headers in data files can define the curve names and the axis labels.

The axes of a graph can be labeled with arbitrary text. Units can be specified (V and s in the example below) and are put in brackets behind the label text or after the axis numbering. Engineering prefixes are automatically put in front of the units (n for 10e-9 on the x-axis in the example). The grid spacing and the units can be automatically chosen depending on the x- and y-ranges. A legend with curve names and line color can be displayed inside or outside of the plotting area:

Description: Description: Description: Description: Description: GraphElements2

VaryPlot organizes the graphs in windows. Each window can host multiple tabs. A tab contains one graph:

Description: Description: Description: Description: Description: Main-GUI2

The title bar shows the name of the session file where the information about windows and graphs is stored. Curve data is not stored in the session file but references to data files with the column numbers. Below the menu bar, there is a configurable toolbar for fast access to frequently used operations. The workspace in the center of the application hosts the windows. On the very bottom is the status bar with the cursor coordinates, the size and location of the active window and the bitmap size of the active graph. Optionally, a progress bar showing the status of the script execution and the coordinates of the mouse pointer can also be shown here.

A graph bitmap consists of the plot area which is bordered by the axis and the frame around it where the headline, axis text and the axis labels are located.

Working with Curves

Text File Based Curves

Default Columns

You can define default text file columns for x- and y-data samples in the File IO tab of the program options. This information is used whenever you load a curve by

·         selecting menu Graph – Load Curve – Default Columns of TXT File

·         clicking on toolbar button Load Curve from File - Default Columns of TXT File

·         drag and drop a text file from the explorer to the application, a window or a graph with the program option 'Load all Columns with Drag and Drop' unchecked

·         selecting the item Load Curve from Data File – Default Columns of TXT file from the context menu of the curve list in the graph properties dialog

·         clicking on the Load button next to the curve list of the graph properties dialog

·         selecting the item Load Curve – Default Columns of TXT file from the graph context menu after turning it on in the program options

Selected Columns

More choices for loading selected or multiple columns of a text file are given in the Load Curves dialog. It opens whenever you

Description: Description: Description: Description: Description: LoadSelectedCurves

You can pick a file if you

Then you can

After you made a valid column selection, press the Load key to add curves to your active graph. The dialog remains open, so you can add more curves to this or other graphs.

Reload Curve Data

 

The curve data is read from the content of the given text file whenever

Touchstone File Based Curves

Touchstone files are also ASCII files with a special format. They are used to describe network parameters like S-, Z- or Y-parameters of multiport networks. VaryPlot allows to directly show the content of those files as they are often used in the RF and high-speed digital engineering world. Please refer to the publicly available documentation of this file format for details.

You can load the files by

·         The menu item File -  Graph – Load File – Touchstone File

·         The toolbar item Load Curve From File – Touchstone File

·         Drag and Drop a Touchstone File to VaryPlot (either an existing graph or to the workspace to create a new one)

·         Send to VaryPlot from the context menu of the Touchstone file in the Windows Explorer

 

For any way, a pop-up menu shows up for selecting individual parameters or complete parameter groups to load. Additionally you can select how the curves shall be separated into multiple graphs.

Pasting Curve Samples

You can copy and paste or drag and drop curve samples from a text editor, Excell etc. to VaryPlot. The curves appear as a text file based curve without any filename associated, so saving and re-loading the session will not re-create the same graph.

Equation Based Curves

These curves require an equation for calculating the y-values. You can use the letter 'x' as independent variable. To reference another curve, use 'ID(x)' where ID stands for the respective curve identifier. A large set of operators and functions are available to do the calculations. For details see the syntax reference in the appendix.

The text field 'x=' can be used in various ways:

1.      Leave it empty. In this case the equation for 'y=' is calculated for each horizontal pixel in the plot area.

2.      Enter one constant. This serves as the step width for the samples used for x. The x-range is unlimited.

3.      Enter two constants separated by colon. The first constant specifies the lower end, the second one the upper end of the x-range

4.      Enter three constants separated by colons. First on: lower limit, second one: step width, third one: upper limit for x

5.      Enter an expression using curve ID. The curve ID is replaced by the x-value of that curve

Please note that the maximum number of samples calculated when you specify the x-step is limited by the value set in the 'Curve Defaults' tab of the program options. This avoids extremely long calculation times by faulty inputs in the text field.

Some examples:

y=

x=

Meaning

5

 

An unlimited horizontal line at y=5 with samples for all x-values represented by a pixel on the x-axis

2*sin(x)+1

pi/16

A sine wave with amplitude 2 and offset 1. The x-range is unlimited, samples are calculated at a distance of pi/16

curve1(x-5n)

2n:10n

The curve with ID "curve1" is shifted by 5n to the right. The result is plotted between 2n and 5n with a sample for each pixel on the x-axis.

curve2(x)-0.2

curve2()

The curve with ID "curve2" is by 0.2 down. The x-samples are equal to curve2.

curve3(x-3u)

2u:curve3()+3u:6u

The curve with ID "curve3" is shifted by 3u to the right. The x-samples of curve3 are also shifted to the right by 3u and the result is plotted between 2u and 6u.

Setting Curve Properties

Individual or groups of curves in a graph can be changed by using the curve list in the graph properties dialog. You can set the line widths, colors, opacities, line patterns, marker sizes and marker types of all curves in one or multiple graphs by using the toolbar.

Distinguishing Curves

Curves can be distinguished by

 

The graph legend shows a short sample of the curve next to its name.

Whenever you add a curve to a graph, it uses the next available color number.

Colors, line patterns and marker types can be arranged using the Graph menu or the toolbar buttons so that each curve gets a different property.

Another way of curve identification is to turn on a cursor with the curve title shown in its label. You can easily create a note from a cursor if you need to identify more than two curves.

Working with Large Data Files

The number of samples per curve is only limited by the available memory of your operating system. Drawing graphs with a huge number of samples can be time consuming, though. You can mitigate this effect significantly by

1.      Selecting the 'Fast Curve by Decimation' checkbox in the 'Appearance' section of the Options dialog

2.      De-selecting automatic redraw in the 'View' section of the Options dialog and use manual redraw after changing graph size or a set of properties

3.      Turning off the sample markers

4.      Using solid connect pattern

5.      Using linear connect style

6.      Using a graph bitmap with lower horizontal pixel count

7.      Turning off the curve anti-aliasing

8.      Avoiding equation based curves processing large number of samples

Working with Multi-Sweep Curves

A curve can consist of samples with increasing or decreasing x values. A sequence with monotonic increasing x values is called a positive sweep; decreasing x values constitute a negative sweep.

Description: Description: Description: Description: Description: MutliSweep

You can control which samples of a curve shall be connected. This is done in the 'Connect' pane of the curve properties. Check 'Back' for connecting negative sweeps, 'Fwd' for the positive sweeps and 'Vertical' for x values remaining equal.

The Cursor Properties dialog and the cursor label can show you to which sweep number a sample belongs. You can highlight the sweep where the active cursor is currently located by selecting 'Highlight Sweep at Cursor' from the View menu.

Typical examples for multi-sweep curves are

·         Consecutive measurement or simulation runs where all data is in one column

·         Eye diagrams

·         Trajectories

Editing and Exporting Curve Data

You can edit text file based curve samples by opening the graph properties dialog, navigating to the 'Curves' tab, pressing the right mouse button over the curve list and selecting the item 'Edit Samples'.

Exporting the x- and y-samples of a single curve works similar by selecting 'Save As Data File' from the context menu.

If you want to combine multiple curves to one data file, please select 'Export Curve Data' from the File menu. In the dialog you see all windows, graphs and curves present in the current session. Select a curve from the tree, and then press either 'Select X Values' or 'Select Y Values' to add an item to the list of data to export. Each row in the list represents a column in the data file. If you want you can also add a header to the data file containing the curve names, title and subtitle. Finally press the 'Save Data' button, select a file name and press 'Save'.

Range Setting

The x- and y-ranges (also called 'area') of the coordinate system can be conveniently set in multiple ways using mouse buttons, main menu, context menu, toolbar buttons, keyboard or dialogs.

Window Zoom

If the mouse hovers over a graph, the pointer takes the shape of a cross and its coordinates are shown in the left part of the status bar (if turned on in the program options). Click and hold the left mouse button on the graph, move to another point and release the mouse button to draw a rectangle that defines the new graph area:

Description: Description: Description: Description: Description: Window-Zoom

The new ranges are displayed as a tooltip if the respective option is turned on.

·         If the height of your rectangle is less than 3 pixels, you only set the x-range while the y-range is kept as before.

·         If the width of your rectangle is less than 3 pixels, you only set the y-range while the x-range is kept as before

Note: Holding the Shift-key during window zoom avoids range extension to full grid even if turned on for this graph.

Zooming in and out

The ranges can be decreased or increased by a zoom factor set in the 'View' tab of the program options:

 

Main Menu

Toolbar

Keyboard

Mouse

Zoom in

View – Zoom In

Description: Description: Description: Description: Description: ZoomIn

+

Turn wheel forward

Zoom out

View – Zoom Out

Description: Description: Description: Description: Description: ZoomOut

-

Turn wheel backward

Panning

The graph area can be shifted left, right, up or down:

 

Keyboard

Mouse

Pan right

ALT + Right arrow

Turn wheel forward while holding 'CTRL' key

Pan left

ALT + Left arrow

Turn wheel backward while holding 'CTRL' key

Pan up

ALT + Up arrow

Turn wheel forward while holding 'SHIFT' key

Pan down

ALT + Down arrow

Turn wheel backward while holding 'SHIFT key

Alternatively you can press the middle mouse button anywhere on the graph area to center this location.

Range Overrides

Either x- or y-range can be protected from zooming and panning with the middle mouse button by checking one of the options in 'Override Ranges' item of the 'Session' menu.

·         Lock x ranges: Keep x-range and only change the y-range when zooming or panning

·         Lock y ranges: Keep y-range and only change the y-range when zooming or panning

·         Autorange y: Set the y-range according to the visible curve samples in the new x-range when zooming or panning

Automatic Range Extension

You have the choice if the ranges selected by window zoom, by zooming in and out and by panning shall be automatically extended to the next minor or major grid line. This can be set in the graph properties:

Description: Description: Description: Description: Description: AutoRangeExtend

Entering Exact Ranges

The exact range limits can be reviewed and entered in the graph properties:

Description: Description: Description: Description: Description: RangeSetting

Please note that the automatic range extension does not apply in this case.

Auto-Ranging to Curve Samples

VaryPlot can automatically set ranges according to the sample coordinates of visible curves:

 

Main Menu

Toolbar

Keyboard

Graph Context Menu

Set area so that all samples of all visible curves are inside

View – Autorange XY

Description: Description: Description: Description: Description: Toolbar-AutorangeXY

A

Autorange XY

Set x-range so that all samples of all visible curves are inside

View – Autorange X

Description: Description: Description: Description: Description: Toolbar-AutorangeX

X

Autorange X

Set y-range so that all samples of all visible curves are inside

View – Autorange Y

Description: Description: Description: Description: Description: Toolbar-Autorangey

Y

Autorange Y

Set area so that all samples of one curve are inside

n. a.

n. a.

n. a.

XY Range for Curve

Set x-range so that all samples of one curve are inside

n. a.

n. a.

n. a.

X Range for Curve

Set x-range so that all samples of one curve are inside

n. a.

n. a.

n. a.

Y Range for Curve

Note: Holding the Shift-key during ‘Autorange X, Y or XY’ avoids range extension to full grid even if turned on for this graph.

Range Fitting to Cursors

If cursors are turned on, you can adapt the graph area to the cursor locations:

 

Main Menu

Keyboard

Graph Context Menu

Cursor Properties Dialog

Pan ranges such that active cursor is in the center of the area

View – Center Active Cursor – Center X and Y

n. a.

Zoom Cursors – Center X and Y of Active Cursor

Buttons
'Center X' + 'Center Y'

Pan x-range such that active cursor is centered

View – Center Active Cursor – Center X

Alt + X

Zoom Cursors – Center X of Active Cursor

Button 'Center X'

Pan y-range such that active cursor is centered

View – Center Active Cursor – Center Y

Alt + Y

Zoom Cursors – Center Y of Active Cursor

Button 'Center Y'

Select area such that both cursors just fit in

View – Zoom Both Cursors

Alt + Z

Zoom Cursors – Zoom Both Cursors

Button 'Zoom'

Range Setting by Script

Graph ranges are stored to the script whenever you save your session. You can also write own scripts where you not only can add windows, graphs and curves but also are able to set the visible range by using the respective command.

Range Memory

VaryPlot remembers the graph areas you set for later reuse. You can navigate back and forth in the area history:

 

Main Menu

Toolbar

Keyboard

Graph Context Menu

Mouse Buttons

Go back to previous area

View – Previous Area

Description: Description: Description: Description: Description: PreviousArea

B

Previous Area

'Back Navigation' or
'right mouse button' over plotting area

Go ahead to next area

View – Next Area

Description: Description: Description: Description: Description: NextArea

N

Next Area

'Forward Navigation' button

Range Synchronization

When you work with multiple windows, you can synchronize the ranges of all visible graphs by selecting one of the options from the 'Synchronize Ranges' item of the 'Session' menu:

·         X Ranges: Keeps the x-ranges equal for all visible graphs. This is especially useful when the windows are vertically arranged

·         Y Ranges: Keeps the y-ranges equal for all visible graphs. This is especially useful when the windows are horizontally arranged

·         X and Y Ranges: Keeps both x- and y-ranges equal for all visible graphs

Working with Cursors

Two cursors can be turned on to be moved on curves. This is done by selecting 'Show Cursors' in the graph menu, by clicking on the 'Toggle Cursors' toolbar button or by  selecting 'Show Cursors' from the graph's context menu. The cursors consist of a cross and a label showing information about the cursor's location.

Description: Description: Description: Description: Description: Cursors

The coordinates are also shown in the statusbar at the bottom of the VaryPlot window next to a replica of the cursor's cross:

Description: Description: Description: Description: Description: Status-Bar-Cursors

The selected cursor is marked by a ring around this cross in the status bar and a thicker frame around its label. Clicking on this region in the status bar or double clicking on the cursor's cross in the graph opens the Cursor Properties dialog, which is explained later.

Cursors can be moved in various ways:

1.      Move the mouse pointer over the cursors cross until its shape changes to an arrow. Now you can drag the cursor by moving the mouse left and right. If multiple curves are visible, you can attach the cursor to a different curve by moving the mouse in y direction. The cursor always attaches to the curve that is closest. You can lock the cursor to its current curve by holding the SHIFT-key while dragging it around or by selecting 'Lock to Curve' in the Cursor Properties dialog.
Per default, the cursor moves on the interpolated lines between the curve samples. If you want to jump to exact sample coordinates only, hold the CTRL-key or select 'Snap to Samples' from the Cursor Properties dialog.
The cursor location is not limited to the plot area but can also be on the frame. This is convenient if you zoom away from a cursor's coordinate and still can see the information provided by its label.

2.      Press the Left or Right key to move the cursor one pixel on its current curve. If you hold the SHIFT-key while moving around, the cursor jumps to minor x-grid locations. By holding the CTRL-key, it snaps to curve samples. The 'Skip Equal Y Values' checkbox in the Cursor Properties dialog also applies in this case (see below).
Press the UP or Down key to attach it to the previous or next curve. Press SPACE to select the other cursor for moving.

3.      Open the Cursor Properties dialog like described above. Here you find many ways to configure your cursor and move it in a smart way.

Description: Description: Description: Description: Description: CursorPropGeneral

The topmost part of the dialog shows the window and graph name you are currently working on. You can change this by pressing the arrow buttons right to the text fields.

In the second part you see a replica of the cursor's cross and the cursor number. The 'Select' button allows getting the properties of the other cursor on this graph. To the right of the 'Visible' checkbox you find buttons to center the graph area around the current cursor's location and to zoom the graph area such that both cursors are just inside.

In the 'Coordinate' group you see the coordinates of the cursor, the deltas to the second cursor (DX, DY), the slope of the curve, the ratio of DY/DX, the reciprocal of DX and the distance to the second cursor.

In the 'Curve' group the curve and the sweep to which the cursor is attached can be selected. The sign of the sweep can be changed by double clicking on the 'Sweep' label.  Below that you see the sample number (or interval between two samples) of the cursor's location.

At the bottom of the dialog you find 5 tabs. The "General" tab:

Track Cursor's X Position

Both cursors are always kept on the same X location. This makes only sense when they are attached to a different curve or sweep.

Snap to Samples

Force the cursor to exact curve sample locations and avoid the interpolated section in between when dragging with the mouse.

Lock to Curve

Force the cursor to stay attached to its current curve when moving it by dragging with the mouse.

Lock to Sweep

Force the cursor to stay attached to its current curve sweep when moving it by dragging with the mouse.

Length, Width, Color

Size and color of the cursor's cross.

The "Label" tab:

Here you can turn on and off the label and set its location relative to the cursor's cross. You can choose the font size and the number of decimal places. In the "Content" pane you can choose which information you want to see in the label.

Description: Description: Description: Description: Description: CursorPropLabel  Description: Description: Description: Description: Description: CursorPropMoveX

The "Move X" tab:

The arrow buttons move the cursor to the next pixel, the next minor grid or the next sample. The option "Skip Equal Y Values" treats consecutive samples with equal y value as one group and only stops at the first sample of this group. You can navigate to a selectable X-value or to a given sample number.

The "Move Y" tab:

Here you can move the cursor to the next position to the left or to the right on the curve with a given Y-value. For digital graphs you can specify the value in hexadecimal notation. In the right part of the tab you find controls to move to the sample with the n'th largest or smallest Y-value. The rank n is selectable.

Description: Description: Description: Description: Description: CursorPropMoveY  Description: Description: Description: Description: Description: CursorPropPeak

The "Peak" tab:

This tab offers means to navigate the cursor to peaks and troughs. A peak is a sample whose two neighbors both have smaller Y-values. A trough has neighbors with smaller Y-values. You can avoid peaks below and troughs above a given threshold level. If your signal is noisy, it will probably contain a lot of peaks and troughs you are not interested in. You can avoid them by increasing the 'Noise Suppression'. This number tells the search algorithm how many neighbors have to be lower or higher so that this sample is regarded as a peak or trough.

The item 'Create Note from Cursor' in the 'Edit' menu allows creating a note at the location of the active cursor with the same label content.

Graph Properties Dialog

All graph properties can be viewed and change by opening the Graph Properties Dialog:

 

Main Menu

Keyboard

Mouse

Open Graph Properties Dialog

Graph – Graph Properties

G

Double click on the graph

The topmost section above the tab control shows the names of the active Window and Graph Tab. You can change it there or select a different Window or Tab by pressing the arrow buttons right of the text fields.

You can close the dialog by clicking on the icon on the top right, by clicking on the Close button or by pressing the ESC key. You can also leave the dialog open while continue to work on the graph. The dialog content is automatically synchronized with any changes you make.

The changes applied to your active graph take immediate effect but can be undone by clicking on the 'Discard' button before selecting another graph.

Ranges Tab

Here you can set all x- and y-range related graph properties.

Area 

Y max

The top limit for the visible y-range

Y min

The bottom limit for the visible y-range

X min

The left limit for the visible x-range

X max

The right limit for the visible x-range

X Center

The center coordinate of the visible x-range

X Span

The difference between the X min and X max

Logarithmic Y Axis

Toggles between linear and logarithmic Y axis

Logarithmic X Axis

Toggles between linear and logarithmic X axis

Axis Scale

X-Axis

Axis scalings can be set either automatically by VaryPlot or manually by picking a specific value from the drop-down list

Y-Axis

General Tab

Here you can set some general graph properties.

Graph Appearance

Type

Select if graph shall be analog or digital

Invert Background

Swaps black and white colors of the graph

Frame Graph

Use gray color to distinguish parts of graph outside plotting area

Legend Properties

Show Legend

Toggles visibility of curve legend

Position

Select one of 13 pre-defined locations for the legend box

Max. Columns

Sets the maximum number of columns used inside the legend box (only used if the legend is inside plotting area)

Baseline

Y-Value

The y-location of the baseline used for curve connect styles ‘Stem’ and ‘Histogram’

Visible

Draws the baseline into the graph if checked

Line Width

The line width used if the baseline is drawn

Misc 

Area Extension

Pick either 'None' for completely free zooming and panning or automatic extension to either the next minor or major grid line

Bitmap Graphics File

The file used to save the graph bitmap. The extension of the file name defines its type. Press to Select button to browse for a file.

Grid Tab

Here you can set all grid related graph properties.

Horizontal Grid

Show Major Grid Lines

Toggle visibility of major horizontal grid lines

Show Minor Grid Lines

Toggle visibility of minor horizontal grid lines

Auto Spacing

Automatically calculate the horizontal grid spacing depending on y-range

Major Spacing

The major horizontal grid line spacing if ‘Auto Spacing’ is unchecked

Major/Minor Spacing

The ratio between major and minor horizontal grid line spacing if ‘Auto Spacing’ is unchecked

Vertical Grid

Show Major Grid Lines

Toggle visibility of major vertical grid lines

Show Minor Grid Lines

Toggle visibility of minor vertical grid lines

Auto Spacing

Automatically calculate the vertical grid spacing depending on y-range

Major Spacing

The major vertical grid line spacing if ‘Auto Spacing’ is unchecked

Major/Minor Spacing

The ratio between major and minor vertical grid line spacing if ‘Auto Spacing’ is unchecked

Line Styles

Major Line Width

The line width used for major grid lines

Minor Line Width

The line width used for minor grid lines

Dashed Grid

Use dashed lines to draw grid lines

Text Tab

Here you can set all text related graph properties.

Content

Headline

Text printed in bold letters at the very top of the graph

Y Label

Text printed in bold letters above the plotting area or left of the y-axis numbering

X Label

Text printed in bold letters below the x-axis numbering

Y Unit

Text appended in brackets after the y label or printed after the y-axis numbers

X Unit

Text appended in brackets after the x label or printed after the x-axis numbers

Font Sizes 

Headline

The font size used to print the headline

Labels

The font size used to print the axis labels

Axis

The font size used to print the axis numbering

Legend

The font size used to print the curve names in the legend box

Font Styles

Headline

The font style used to print the headline

Labels

The font style used to print the axis labels

Axis

The font style used to print the axis numbering

Legend

The font style used to print the curve names in the legend box

Text Locations and Format

Vertical Y Label

Draws the Y label vertically left of the vertical axis instead of above the graph if checked

Labels at End of Axis

Aligns x-label to the right and the y-label to the left (or top if vertical) when checked

Eng. Format

Use engineering prefixes instead of scientific notation for axis numbers (Appendix 10: Supported Engineering Prefixes)

Y Unit at Axis

Print the y-unit directly after the axis numbers instead of after the axis labels

X Unit at Axis

Print the x-unit directly after the axis numbers instead of after the axis labels

Equal X Digits

Same number of digits after decimal point for all x-axis numbers (filled with 0)

Equal Y Digits

Same number of digits after decimal point for all x-axis numbers (filled with 0)

Colors Tab

Here you can set the colors of all graph elements. Normal and inverted (see tab ‘General’, ‘Graph Appearance’) have separate color properties.

Curves Tab

Curves are the graphical representation of sample coordinates. This tab contains the list of curves assigned to the graph and the respective properties. Please note that some properties can be conveniently set for all curves in one or multiple graph by using the toolbar buttons of the main application window.

The Curve List

At the top left of the tab you find a list of all curves existing on the graph. Each curve title is preceded by a box showing the color used to draw the curve. A filled box and black title name indicates a visible curve while a hollow box followed by gray text stands for an invisible curve. Double clicking on a curve toggles visibility.

Right to the curve list are buttons for moving selected curves up and down. The Load button creates a new curve and takes sample data from a selected file. The New button creates an equation based curve.

A right click on the curve list opens the curve context menu. The items showing up can be defined in the program options. Here is the complete list:

Select All

Select all curves in the list

Invert Selection

Select all unselected curves and vice versa

Select by Number

Open a dialog to enter a comma separated list for the curve numbers to select. Number ranges can be selected by using the colon operator between minimum and maximum numbers. Holding CTRL while pressing the OK button adds to previously selected curves.

Select by Name

Open a dialog to enter a search string for the curve title. All curves containing the text are selected. If ‘Exact Match” is checked, the entered string must exactly equal the curve title. Case sensitivity can also be selected. Holding CTRL while pressing the OK button adds to previously selected curves.

Copy

Copy selected curves

Cut

Cut the selected curves

Paste Before

Paste the previously copied or cut curves before the current location in the list

Paste After

Paste the previously copied or cut curves after the current location in the list

Math

Opens a sub-menu for operations on one or two selected curves and creates an equation based curve at the end of the list.

Highlight

Highlight the selected curve on the graph

Information

Open the curve information dialog for this curve

Load Curve from File

Create a new curve and load data from a file

Reload Curve Data from File

Reload the samples from the data file defined for this curve

Save As Data File

Save the curve samples as data file with x-values in the first and y-values in the second column

Edit Data File

Open the data file for this curve in an external editor

Edit Samples

Open the VaryPlot sample editor for this curve

New

Create a new equation based curve at the end of the list

Delete

Delete the selected curves from the list

Below the curve list is a label indicating the selected curve number or the number of curves selected.

Changes to most curve properties can be made to one or multiple selected curves.

General Properties

Title

The name of the curve shown in the curve list and the legend box

ID

The identifier of the curve used to reference it in equations. If the field is empty, you can automatically create a unique ID derived from the curve title by double-clicking on it.

Visible

Toggles visibility of the curve

In Legend

Toggles if the curve shall appear in the legend box

Line Width

Line thickness used to draw the curve connect lines and markers

Color

Color of curve connect lines and markers

Opacity

The opacity between 0% and 100% used to draw the curve connect lines and its markers

Tab Data Source

Data Source Type

You can select either 'Text File', 'Equation' or ‘Touchstone’

X Column

For type 'Text File' and ‘Touchstone’: Denotes the column number used for the x samples

Y Column

For type 'Text File' and ‘Touchstone’: Denotes the column number used for the y samples

File

For type 'Text File' and ‘Touchstone’: The file name

Y=

For type 'Equation': The equation for the y samples with 'x' used as independent variable

X=

For type 'Equation': The definition of the x-values used

Automatic Recalculation

For type 'Equation': Recalculate all curve samples with every redraw if checked

Recalculate Now

For type 'Equation': Recalculate all curve samples once when button is pressed

For more information about how to use equation based curves, see the section dedicated to this topic.

Tab Connect (Analog Graph)

Style

In which way the samples are connected

Clip

Selects if connection is omitted if one or both samples are outside the plotting area

Pattern

The pattern used for drawing the connect lines

Forward Connect

Toggles connection visibility for increasing x-values

Vertical Connect

Toggles connection visibility for equal  x-values

Backward Connect

Toggles connection visibility for decreasing x-values

Tab Connect (Digital Graph)

Type

Selection of Bit (for boolean types) or Word connection drawing

Bit Threshold

The decision value for y values of a curve if it is interpreted as High or Low. This is used for Bit connection type only.

Tab Marker

Transparent

Shows curves or grid inside of unfilled marker types if selected

Size

The marker size in pixels

Type

The marker style

Frequency

Either at each sample or twice per major vertical grid line

Tab Tags

Show Tags

Enable drawing of curve sample tags if checked

Transparent Background

Print text directly on graph instead of underlying a filled rectangle before

Use Curve Color

Use the same color for the tags as for drawing the curve itself. Otherwise the axis text color is used

Opacity

Opacity used to print the tags to the graph

Font Size

The font size used to print the tags

Alignment

The alignment used to position the tags relative to the curve sample location

Content

In this drop-down list you can select the information you want to be displayed in the tags

Digits

The number of decimal digits used to show the sample coordinates

Sample Range

Either specify start and stop sample number separated by a colon (example: 5:20) or include the step width in between (example: 20:2:40)

Notes Tab

Notes are user defined textual annotations on the graph. This tab contains the list of notes assigned to the graph and the respective properties.

The Note List

At the top left of the tab you find a list of all notes existing on the graph. Note titles in black indicate a visible note while gray text denotes an invisible note. Double clicking on a note toggles visibility.

Right to the note list are buttons for moving selected notes up and down. The New button adds a new note to the end of the list.

A right click on the curve note opens the curve context menu:

Select All

Select all notes in the list

Invert Selection

Select all unselected notes and vice versa

Select by Number

Open a dialog to enter a comma separated list for the note numbers to select. Number ranges can be selected by using the colon operator between minimum and maximum numbers. Holding CTRL while pressing the OK button adds to previously selected notes.

Select by Name

Open a dialog to enter a search string for the note title. All notes containing the text in their title are selected. Holding CTRL while pressing the OK button adds to previously selected notes.

Copy

Copy selected notes

Cut

Cut the selected notes

Paste Before

Paste the previously copied or cut notes before the current location in the list

Paste After

Paste the previously copied or cut notes after the current location in the list

New

Append a new note to the list.

Delete

Delete the selected notes from the list

Below the note list is a label indicating the selected note number or the number of notes selected.

Changes to most note properties can be made to one or multiple selected notes.

General Properties

Title

The name of the note shown in the note list

Visible

Toggles visibility of the note

Orientation

The corner of the note's bounding box aligned with the note's location

Text

The content of the note that appears in the graph at the given location

Appearance

Italic

Font style italic

Font Size

The font size for the note text

Show Arrow

Draw an arrow between the note text and the note location

Transparent

Show underlying graph content under note text

Location

Use Coordinates

If checked, you can enter the note location in the graph's coordinate system. Otherwise you can set the location in percentages of the bitmap size used to draw the graph.

Y Pixel

The vertical location on the graph bitmap

X Pixel

The horizontal location on the graph bitmap

Y Coordinate

The vertical location in the graph's coordinate system

X Coordinate

The horizontal location in the graph's coordinate system

Curve Information Dialog

The Curve Information Dialog can be opened by

·         Selecting 'Curve Information from the graph context menu followed by a click to the desired curve

·         Selecting a curve in the Graph Properties dialog, followed by ‘Information’ from the context menu

The dialog can remain open while you work in the main window. Its content is updated automatically.

Data Source

You can select the curve of interest here. Additionally you have the option of using either all samples of the curve or only the part that is currently inside the visible x-range.

Number Format

You have the choice between scientific notation or engineering number format using suffixes. Also the number of digits after the decimal point can be set.

Full statistics checked means, that also time consuming calculations shall be done. For curves with large number of samples (>50000), this will be uncheked automatically when the curve is selected.

General Tab

Some basic information about the curve is shown here.

X Values Tab

Here you can see the extreme values and information about the step sizes. Normally only the positive x-steps are considered. You can switch to the negative steps by checking the respective item.

The locations of the maximum and minimum steps are displayed below.

Y Values Tab

This section shows a couple of basic statistics about the Y-values:

Maximum

The lowest Y-value

Minimum

The highest Y-value

Amplitude

The difference between maximum and minimum

Arithmetic Mean

The average Y-value

Median

The Y-value of the middle in the sorted group

RMS

The square root of the sum of squares

Variance

The sum of squares for the differences to mean divided by (sample number -1)

Standard Deviation

The square root of the variance

Mean + n·σ

The Arithmetic mean plus/minus an integer number of standard deviations

Coefficient of Variation

The ratio of standard deviation and arithmetic mean

Peak to Average Ratio

The ratio of maximum and RMS

Integral

The integral of the curve samples in the selected range

Annotation Tab

This group contains a selection of annotation content using the numbers displayed in the 'General' and 'Y Values' sections. Press the 'Annotate Graph' button to place a note on the graph containing the selected content.

Histogram Tab

VaryPlot can create a new tab containing a histogram of the Y-values selected in the 'Statistics Data Source' group by pressing the 'Create Histogram' button. The boundaries can be calculated automatically or set manually. A note containing the information selected in the 'Y Annotation' section is added if the respective box is checked.

DFT/FFT Tab

VaryPlot can create a new tab containing the frequency spectrum of a curve. This requires equally spaced samples in the x-direction. For your information, the max, min and average step sizes are displayed. The magnitude format in the spectrum can be either linear or in dB. The inclusion of the DC component is optional. The maximum output frequency is selectable as well.

 

If the number of curve samples is a radix of 2, the FFT algorithm is used. Otherwise a DFT is calculated, which can take a lot of time for larger number of samples.

The Graph Context Menu

If you click the right mouse button in the area framing the plotting range of the graph, you get a context menu. You can select the items you want to see in the program options. Here is the complete list:

Previous Area

Return to the x- and y-ranges before the current

Next Area

Go to the x- and y-ranges after the current

Autorange

Set the ranges appropriately such that all samples of all visible curves are inside

XY Range for Curve

Set the x- and y-ranges such that all samples of the selected curve are inside

X Range for Curve

Set the x-range such that all samples of the selected curve are inside

Y Range for Curve

Set the y-range such that all samples in the current x-range of the selected curve are inside

Zoom Cursors, Center X and Y of Active Cursor

Shift the x- and y-ranges such that the cursor is located in the center

Zoom Cursors, Center X of Active Cursor

Shift the x-range such that the cursor is located in the center

Zoom Cursors, Center Y of Active Cursor

Shift the y-range such that the cursor is located in the center

Zoom Cursors, Zoom Both Cursors

Select the x- and y-ranges such that both cursors are inside

Redraw

Draw all the graph contents from scratch

Show Curves

Select the curves that shall appear on the graph. The color of visible curves is shown as a filled square; invisible curves have a hollow square. Holding the 'CTRL' key while selecting a curve, turns it one and all other curves off.

Highlight Curve

Select a curve from the list of visible curves you want to highlight

Curve Information

Select a curve from the list of visible curves you want to know more information about

Load Curve

Add a new curve to the graph and load the data from a file

Reload all Curves

Load the data for all existing curves from the associated file and redraw the graph

Edit Curve Data File

Select a curve from the list of visible curves you want to view or edit externally.

Copy Curve

Select a curve from the list you want to copy

Cut Curve

Select a curve from the list you want to cut

Paste Curve

Paste the curve you selected for copy or paste

Show Notes

Select the notes that shall appear on the graph. Visible notes are checked.

Show Cursors

Toggle visibility of the cursors

Copy Bitmap to Clipboard

Create a copy of the graph bitmap and put it on the clipboard for import in other applications

Save Bitmap to File

Save the graph bitmap to a file on your disc

Print Graph

Open the print dialog for this graph

Copy Graph

Copy this graph

Duplicate Graph

Copy this graph into a new window

Cut Graph

Copy this graph, then remove it from where it is now

Paste Graph

Insert the graph that was last copied or cut

Working with Multiple Windows

You can open multiple windows if you want to see more than one plot at a time:

Description: Description: Description: Description: Description: MultiWindows

Each window can be moved, resized with the mouse or by opening the 'Window Size and Position' dialog. You get there by clicking on the window size or location labels in the status bar or by selecting the respective item from the Window menu:

Description: Description: Description: Description: Description: Window Size and Position

Double clicking on the title bar of a window maximizes it, so you have the whole application workspace available for a single graph. Minimizing a window is possible by selecting 'Minimize' from the 'Window' menu or by the hot-key 'CTRL+W'.

The key combinations 'CTRL+TAB' and 'SHIFT+CTRL+TAB' cycle between the windows..

VaryPlot can set the window sizes and positions automatically for you if you want to distribute them in available space. This can be done by selecting "'Arrange Windows in Colums" or 'Arrange Windows in Rows' from the 'Window' menu:

Description: Description: Description: Description: Description: MultiWindowsArrangeColumns

After arranging, the windows are still free to be re-arranged manually. But if you want them to be fixed in their relative positions and sizes and automatically be scaled when the application window is resized, you can select 'Freeze Windows' from the 'Window' menu:

Description: Description: Description: Description: Description: MultiWindowsFrozen

Frozen windows cannot be moved, but you can resize them by moving the mouse cursor to a window edge until the mouse cursor changes into a resize shape, then drag and drop to the desired location of the edge.

If you want to track range changes in one window in all the other windows, this is possible by selecting 'Synchronize Ranges' from the 'Session' menu. Either the x range, the y range or both can be synchronized. In the same way it is possible to synchronize the x location of the cursors in all windows.

Working with Multiple Tabs

You can add as many graphs to a window as you like. They are organized in tabs and can be created by 'Add Graph' from the 'Edit' menu or by clicking on the respective toolbar button.

Description: Description: Description: Description: Description: SynchTab

The keys 'Q' and 'W' activate the left or right neighbor of the current tab.

You can change the position of a tab by clicking on the toolbar buttons 'Move Graph to Left' or 'Move Graph to Right'

The tab of a window with only one graph can be turned off in the program options.

When plots on different graph windows shall be compared, their selected tab number can be synchronized across all windows. This is achieved by selecting 'Synchronize Tab Selections' from the 'Session' menu.

Working with Digital Graphs

In the Graph Properties dialog, you can select two basic types of graphs. The analog graph selects the vertical position of a sample proportional to its Y coordinate. A digital graph distributes the available vertical graph area into equal sections for the visible curves.

A curve can be of type 'Bit' where samples are either placed at the low or high level depending on if the Y coordinate is below or above a given threshold. The samples are connected in the 'Step (Second)' style of an analog graph.

Alternatively a curve can be of type 'Word' where two horizontal lines are located at the low and high levels. Whenever the integer part of a sample's Y coordinate is different than its predecessor, an X is drawn to indicate the change. The mentioned integer Y values can be printed in between the horizontal lines in binary, decimal or hexadecimal format. The natural location of the legend is before the graph but can be placed anywhere.

Description: Description: Description: Description: Description: digi1

If the available vertical space is not large enough for all curves to fit, triangles above and/or below the legend (location before or beyond) give you an indication:

Increase the vertical dimension of the graph bitmap or reduce the legend font size to show more curves. You can scroll up and down by using the arrow keys (Alt + arrow if a cursor is visible) or by turning the mouse wheel while holding the Shift key.

Curve data is always stored as double number internally. You can switch between analog and digital graph type without having to worry about data integrity.

Cursors can be used on digital graphs as well. Target values for Y search can be entered in hexadecimal format.

Analog and digital graphs can be combined in one session. It is also possible to synchronize the X ranges of both graph types.

Nearly all toolbar buttons for curve properties also apply for digital graphs with the exception of the connect options. They are separately set for analog and digital graphs.

Working with VaryPlot Scripts

The whole set of windows, graphs, curves, notes and cursors constitute a VaryPlot session. A session can be saved to a script by selecting 'Save as …' from the file menu. Sessions are saved to an ASCII file with the extension '.vps'. They can be opened and changed with a standard text editor. This is sometimes convenient when curve data file names shall be edited with recurring changes like different data file names or directories. It is also possible to create script files automatically with software that has data files for plotting as output. In this case it is easy to immediately view the results of calculations of measurements.

It is also possible to export and import windows or graphs to a script file ('File' menu).

Script files can be opened in various ways:

1.      Selecting 'Load' from the file menu

2.      Selecting 'Load script' from the toolbar

3.      Dragging and dropping a script file to the VaryPlot main window (not to a sub window containing graphs)

4.      Double clicking on a script file in the Windows explorer

Note: The curve data itself is not saved in the script file but a reference to the file containing the data.

VaryPlot can be run with multiple instances concurrently in case you want to work on multiple sessions in parallel.

Exporting and Printing Graphs

VaryPlot allows to save a graph to a bitmap graphics file, to a vector graphics file or to copy the bitmap to the clipboard for importing into other applications. If a certain pixel resolution shall be achieved, it is possible to set the bitmap size by clicking on the label at the right of the status bar. The bitmap size dialog opens:

Description: Description: Description: Description: Description: Bitmap Size Dialog

After changing to the desired resolution the bitmap can be saved to a file by selecting 'Save Graph Bitmap as …' from the file menu or from the toolbar. The filename can be also selected and reviewed in the graph properties dialog. Supported bitmap file formats are bmp, gif, png and tif. The available vector formats are 'Enhanced Metafile' (emf) and 'Encapsulated Postscript' (eps). Due to language-restrictions, it is not possible to draw curves in Postscript with other opacities than 100%.

The graph bitmap can be copied to the clipboard with the respective item from the 'Edit' menu, the toolbar or the graph context menu.

All visible graphs of the session can be saved to a common graphics file by selecting ‘Save Session Bitmap as …’ from the ‘File’ menu.

For printing a graph, make it active and select 'Page Setup' from the file menu for setting paper size, orientation and margins:

Description: Description: Description: Description: Description: PageSetup

After that select 'Print Preview' to check if the printout will look all right. If the menu item Windows – Freeze Windows is checked, all windows are included to the printout:

Description: Description: Description: Description: Description: PrintPreview 

Then close the preview dialog and select 'Print Graph' to select a printer and create the print job:

Description: Description: Description: Description: Description: PrintDialog

Please note that VaryPlot prints the active graphs of all windows when 'Freeze Windows' is checked in the window menu. Otherwise only the active graph of the active window is printed.

Printing is done in vector quality and can be redirected to a file if desired. Exporting to a "pdf" file can be easily achieved if you have a pdf printer (for example "PDFCreator" or "RedMon") installed.

Synchronization with Other Programs

VaryPlot can check if data files have changed whenever its main application window is activated. Check the item 'Auto Reload Data' from the 'Session' menu to enable this feature.

If the main window is activated, VaryPlot first checks if the session file has changed. In case windows or graphs have been added or if graph types have changed, the whole session is reloaded.

If the session does not have to be reloaded, all existing curves are synchronized with what is defined in the session file. Curve data files are updated as well as curve titles and other properties in case the respective commands are contained in the new session file.

This feature allows to create data files and session files with other programs and seeing the updated version whenever VaryPlot is activated.

Appendix 1: Menus

File Menu:

New Session

Close the existing windows and start a new session from scratch

Open Session

Open a new session. All windows of the old session are closed

Recent Sessions

Select one of the last 8 sessions used

Save Session

Save the session to the current session file displayed in the title bar

Save Session as …

Save the session to a file selected from a dialog

Edit Session File

Opens the current session file in the default text editor of your operating system.

Session Report

Show some general statistics for the current session

Import Script

Load a script. Existing windows are unchanged

Export to Script

Save the active graph or active window to a script file

Export Curve Data

Open the dialog to export data of multiple of curves to a data file

Explore Current Directory

Open the current directory in "Windows Explorer"

Save Graph Bitmap

Save the active graph bitmap to the file mentioned in the graph properties

Save Graph Bitmap as …

Save the active graph bitmap to a file selected from a dialog

Open Graph Bitmap File

Open the graph bitmap file with the default program for the file type

Save Session Bitmap as …

Save all visible graphs in the session to a common bitmap file

Open Session Bitmap

Open the session bitmap file with the default program for the file type

Page Setup            

Set page size, orientation and margins for printing

Print Preview

Preview the printing output

Print Graph / Print Frozen Graphs

Send the active graph/ all session graphs to a Windows printer

Current Directory

Select a new current directory by browsing or by selecting one of the last 8 directories used. The current directory can be also opened in the explorer.

Program Options

Opens the options dialog

Exit

Close all graph windows and leave VaryPlot

Edit Menu:

Add Window

Open a new window with a blank graph

Close Window

Close the active window

Rename Window

Rename the active window

Add Graph

Add a new graph to the active window

Delete Graph

Delete the active graph from its window

Move Graph Left

Move the current tab by one position to the left

Move Graph Right

Move the current tab by one position to the right

Copy Graph Bitmap

Copy the active graph bitmap

Copy Graph

Copy the active graph

Duplicate Graph

Copy and paste the active graph into a new window. If you hold the 'SHIFT' key, the graph is pasted into a new tab of the active window. The graph bitmap is also copied to the Windows clipboard.

Cut Graph

Copy the active graph to the VaryPlot internal clipboard, delete it from its current window and copy the graph bitmap to the Windows clipboard.

Paste

Paste a graph or a curve to the active window

Copy Graph Bitmap

Copy the bitmap of the active graph to the clipboard

Copy Session Bitmap

Copy the bitmap of the current session to the clipboard

Graph Bitmap Size

Open the bitmap size dialog

Create Note from Cursor

Create a new note at the location of the active cursor and copy the content of its label to the note text. This feature is enabled only for analog graphs.

View Menu:

Zoom In

Decrease the visible x- and y-ranges for the active graph while keeping the center coordinates. Holding the 'CTRL' key applies zoom to all windows, the 'SHIFT' key to all tabs of the active window.

Zoom Out

Increase the visible x- and y-ranges for the active graph while keeping the center coordinates. Holding the 'CTRL' key applies zoom to all windows, the 'SHIFT' key to all tabs of the active window.

Previous Area

Go back to the last x- and y-ranges

Next Area

Proceed again to the x- and y-ranges that were valid before selecting 'Previous Area'

Clear Area Memory

Remove all stored 'Previous' and 'Next' x- and y- ranges from memory

Autorange XY

Select the x- and y-ranges such that all samples of all visible curves fit in. Holding the 'CTRL' key applies Autorange to all windows, the 'SHIFT' key to all tabs of the active window.

Autorange X

Select the x-range such that all samples of all visible curves fit in. Holding the 'CTRL' key applies Autorange to all windows, the 'SHIFT' key to all tabs of the active window.

Autorange Y

Select the y-range such that all samples inside the current x-range of all visible curves fit in. Holding the 'CTRL' key applies Autorange to all windows, the 'SHIFT' key to all tabs of the active window.

Center Active Cursor …

Shift the x-range and/or the y-range of the graph such that the active cursor is located in the center.

Zoom Both Cursors

Select the x- and y-ranges of the graph such that both cursors are just inside.

Redraw

Redraw the active graph; this is useful if automatic redraw has been de-selected in the program options. Also after shrinking the bitmap size, the area extension to grid multiples is not applied but a redraw does this. Holding the 'CTRL' key applies redraw to all windows, the 'SHIFT' key to all tabs of the active window.

Highlight Curve at Cursor

Highlight the curve where the active cursor is attached

Highlight Sweep at Cursor

Highlight the sweep where the active cursor is attached

Graph Menu:

Load Curve – Default Columns

Open a file selection dialog and load data for a new curve. X data is taken from the default columns defined in the program options.

Load Curve - Selected Columns

Opens the dialog for selecting a file and the columns used for x and y data for new curves

Load Curve – Touchstone File

Open a dialog to load curves from a Touchstone file

Reload all Curves

Read the data from the curve's data files. Their names can be found in the curve tab of the graph properties dialog. This function is useful if the data file has changed since loading the data. Holding the 'CTRL' key applies reload to all windows, the 'SHIFT' key to all tabs of the active window.

Graph Properties

Open the graph properties dialog

Cursor Properties

Open the cursor properties dialog

Arrange Curve Colors

Sets the colors for all curves in the graph corresponding to the curve's position in the list. Holding the 'CTRL' key arranges all windows, the 'SHIFT' key to all tabs of the active window.

Arrange Curve Line Patterns

Sets the line patterns for all curves in the graph corresponding to the curve's position in the list. Holding the 'CTRL' key arranges all windows, the 'SHIFT' key to all tabs of the active window.

Arrange Curve Marker Types

Sets the marker types for all curves in the graph corresponding to the curve's position in the list. Holding the 'CTRL' key arranges all windows, the 'SHIFT' key to all tabs of the active window.

Show Cursors

Cycles the cursor's visibility from 'none' to 'one' to 'both'.

Window Menu:

Maximize / Normal

Maximize or bring the active window to normal state

Minimize

Minimize the active window

Cascade

Position and resize the windows overlapping from top left to right bottom of workspace

Arrange Windows in Columns

Position and resize the windows in an arrangement with the selected number of columns. The workspace is filled completely.

Arrange Windows in Rows

Position and resize the windows in an arrangement with the selected number of rows. The workspace is filled completely.

Window Size and Position

Open the dialog to set size and position of the active window

Freeze Windows

Fix all windows and keep their relative size and location when the main window is resized.

Main Window Size and Position

Open the dialog to set size and position of the VaryPlot main window

Fit Main Window to Graph Windows

Resize the VaryPlot main window such that the graph windows fit exactly into the workspace.

Window List

List of all windows in the session. You can select one by clicking on it.

Session Menu:

Override Ranges - None

Allow changing both x- and y- ranges when zooming

Override Ranges – Lock X Ranges

Freeze the x-range when zooming

Override Ranges – Lock Y Ranges

Freeze the y-range when zooming

Override Ranges – Autorange Y Ranges

Autorange the y-range to the visible curves whenever the x-range changes

Auto Reload Data

When the application is activated, all curves data files are checked if they have changed. If this is the case, the data is reloaded.

Synchronize Range - None

The x- and y-ranges of the active graphs in the open windows are independent

Synchronize Range - X Range

The x-range of the active graphs in all open windows is synchronized while the y-range can be selected independently

Synchronize Range - Y Range

The y-range of the active graphs in all open windows is synchronized while the x-range can be selected independently

Synchronize Range - X and Y Range

Both x- and y-ranges are synchronized for the active graphs in all open windows

Synchronize Cursor X Locations

The cursors x-coordinates are synchronized for the active graphs in all open windows

Synchronize Tab Selection

The same tab number is selected on all windows when the tab selection changes for one window

Show Toolbar

Toggle visibility of the toolbar

Show Status Bar

Toggle visibility of the status bar

Help Menu:

Manual

Display this manual in the standard web browser

Open Example

Browse the directory in the application installation path for example sessions

Homepage

Open the default web browser and navigate to VaryPlot's homepage

Feedback

Opens a new message with your default e-mail program and the feedback address for VaryPlot entered

About

Show program revision, build date and copyright

Appendix 2: The Toolbar

Session Buttons

Description: Description: Description: Description: Description: OpenSession

Open Session: Load a new session. All windows of the old session are closed

Description: Description: Description: Description: Description: SaveSession

Save Session: Save the session to the current session file displayed in the title bar. If not defined yet, a dialog appears to select a script file.

Window Buttons

Description: Description: Description: Description: Description: NewWindow

Add Window: Open a new window with a blank graph

Description: Description: Description: Description: Description: CloseWindow

Close Window: Close the active window

Graph Buttons

Description: Description: Description: Description: Description: AddGraph

Add Graph: Add a new graph to the active window

Description: Description: Description: Description: Description: DeleteGraph

Delete Graph: Delete the active graph from its window

Description: Description: Description: Description: Description: MoveGraphLeft

Move Graph to the Left: Active Graph swaps places with its left neighbor

Description: Description: Description: Description: Description: MoveGraphRight

Move Graph to the Right: Active Graph swaps places with its right neighbor

Description: Description: Description: Description: Description: LoadCurve

Load Curve: Open a file selection dialog and load data for a new curve. Dropdown list shows the various options for data file loading. The main button executes the last used dropdown selection.

Description: Description: Description: Description: Description: ShowCurve

Show Curves: Toggle visibility of curves in the active graph. Dropdown list shows the available curves and indicates color and current visibility by a filled or hollow box.

Description: Description: Description: Description: Description: ShowNote

Show Notes: Toggle visibility of notes in the active graph. Dropdown list shows the available notes and indicates current visibility by a check mark.

Description: Description: Description: Description: Description: ShowCursors

Show Cursors: Toggle visibility of cursors in the active graph. Dropdown list shows a selection of pre-defined sets of cursor visibilities and label contents.

All buttons affect the active graph only. Exceptions: 'None' and 'All' in the 'Show Curves' and 'Show Notes' dropdown lists can be directed to all windows by holding the 'CTRL' key or to all tabs of the active window by holding the 'SHIFT' key.

View Buttons

Description: Description: Description: Description: Description: Autoscale

Autorange: Select the x- and y-ranges such that all samples of all visible curves fit in
Autorange XY: Same as above
Autorange X: Select the x- range such that all samples of all visible curves fit in
Autorange Y: Select the y-range such that all samples inside the current x-range of all   visible curves fit in

Description: Description: Description: Description: Description: ZoomIn

Zoom In: Decrease the visible x- and y-ranges for the active graph while keeping the center coordinates

Description: Description: Description: Description: Description: ZoomOut

Zoom Out: Increase the visible x- and y-ranges for the active graph while keeping the center coordinates

Description: Description: Description: Description: Description: PreviousArea

Previous Area: Go back to the last x- and y-ranges

Description: Description: Description: Description: Description: NextArea

Next Area: Proceed again to the x- and y-ranges that were valid before selecting 'Previous Area'

Description: Description: Description: Description: Description: Redraw

Redraw: Redraw the active graph; this is useful if automatic redraw has been de-selected in the program options. Also after shrinking the bitmap size, the area extension to grid multiples is not applied but a redraw does this.

All buttons except the 'Previous' and 'Next' buttons can be directed to all windows by holding the 'CTRL' key or to all tabs of the active window by holding the 'SHIFT' key.

Graph Bitmap Buttons

Description: Description: Description: Description: Description: CopyBitmap

Copy Bitmap to Clipboard: Copy the active graph bitmap to the Windows clipboard. Hold the CTRL key for copying all windows and/or the SHIFT key for copying all tabs.

Description: Description: Description: Description: Description: SaveBitmap

Save Bitmap: Save the active graph bitmap to the file mentioned in the graph properties. Hold the SHIFT key for the 'Save as …' dialog

Description: Description: Description: Description: Description: Print

Print Graph: Print the active graph to a Windows printer. Hold the SHIFT key for the page setup dialog or the CTRL key for print preview.

Graph Properties Buttons

Description: Description: Description: Description: Description: GraphAppearance

Graph Appearance: Dropdown with combinations of grid visibilities and other properties defining the general graph appearance.

Description: Description: Description: Description: Description: LegendPosition

Legend Position: Dropdown list with all possible options for the legend position on the graph.

Description: Description: Description: Description: Description: LegendColumns

Legend Columns: Dropdown list for the maximum number of columns in the legend.

Description: Description: Description: Description: Description: TextSize

Font Size: Dropdown list for the font sizes of all texts in the graph. Headlines get the next larger font. Influence on notes and cursor labels can be turned off in the options dialog.

Curve Properties Buttons

Description: Description: Description: Description: Description: LineWidth

Line Widths: Dropdown list, select a line width for all curves in the graph.

Description: Description: Description: Description: Description: CurveColor

Color: Dropdown list, select an opacity or a color for all curves in the graph.

Description: Description: Description: Description: Description: LinePattern

Line Pattern: Dropdown list, select a line pattern for all curves in the graph (not available for digital graphs).

Description: Description: Description: Description: Description: ConnectStyle

Connect Style: Dropdown list, select a connect style for all curves in the graph. For digital graphs, either all curves can be set to the same connect style or in the ‘Auto’ modes, the y-value range decides if the bit (only 0 and 1) or one of the word styles is selected.

Description: Description: Description: Description: Description: MarkerSize

Marker Size: Dropdown list, select a marker size for all curves in the graph.

Description: Description: Description: Description: Description: MarkerType

Marker Type: Dropdown list, select marker settings or a marker type for all curves in the graph.

The operations can be effective for all windows by holding the 'CTRL' key or to all tabs of the active window by holding the 'SHIFT' key.

The visibility of each toolbar button can be turned on and off in the options dialog.

Appendix 3: Keyboard Shortcuts

In the main application window the following keyboard shortcuts apply:

Key

Respective Menu Item

Effect

0, 1, 2, 3, .. 8

 

Set the marker size for the active graph. Holding the 'CTRL' key applies marker size to all windows, the 'SHIFT' key to all tabs of the active window.

Num Pad 1, 2, .. 8

 

Set the curve line widths for the active graph. Holding the 'CTRL' key applies marker size to all windows, the 'SHIFT' key to all tabs of the active window.

A, Home

View – Autorange

Autorange the selected graph. Holding the 'CTRL' key applies the operation to all windows, the 'SHIFT' key to all tabs of the active window.

B, End

View – Previous Area

Change to the previous xy-range area for the selected graph

C, L

Graph – Show Cursors

Cycle the cursor visibility from 'none' to 'one' to 'both'.

CTRL+C

Edit – Copy Graph

Copy the active graph

CTRL+D

Edit – Duplicate Graph

Copy the active graph and paste in a new window

SHIFT+CTRL+D

 

Copy the active graph and paste in the active window

CTRL+E

File – Edit Session File

Open the current session file in external text editor.

CTRL+F

Window – Freeze

Toggle between frozen and free window state

G

Graph – Graph Properties

Show the graph properties dialog

H

View – Highlight Curve at Cursor

Highlight the curve the active cursor is attached to

CTRL+I

File – Reload Session

Reload the current session

J

View – Highlight Sweep at Cursor

Highlight the sweep the active cursor is attached to

K

Graph – Cursor Properties

Show the cursor properties dialog

M

Edit – Create Note from Cursor

Create a new note at the location of the active cursor and copy the content of its label to the note text

N

View - Next Area

Change to the next xy-range area for the selected graph

O

File – Program Options

Open the options dialog

CTRL+O

File – Open Session

Open a new session

P

File – Print Graph

Print the selected graph

Q

 

Select the next graph tab to the left

R

View - Redraw Graph

Redraw the selected graph. Holding the 'CTRL' key applies the operation to all windows, the 'SHIFT' key to all tabs of the active window.

CTRL+S

File – Save Session

Save the session to the script

S

File – Save Graph Bitmap

Save the selected graph as bitmap to a file

T

Graph – Reload all Curves

Reload the text file based curves of this graph

CTRL+V

Edit – Paste Graph

Paste the graph previously copied, duplicated or cut into the active window

W

 

Select the next graph tab to the right

CTRL+W

Window – Minimize

Minimize the active window

X

View - Autorange X

Autorange the x-range of the selected graph. Holding the 'SHIFT' key applies the operation to all tabs of the active window.

ALT+X

View – Center Cursor X

Shift the x-range such that the active cursor is located in the center

CTRL+X

Edit – Cut Graph

Cut the active graph

Y

View – Autorange Y

Autorange the y-range of the selected graph. Holding the 'CTRL' key applies the operation to all windows, the 'SHIFT' key to all tabs of the active window.

ALT+Y

View – Center Cursor Y

Shift the y-range such that the active cursor is located in the center

ALT+Z

View – Zoom Both Cursors

Select the x- and y-ranges such that both cursors are just inside

Left, Right, Up, Down

 

Pan the range of the selected graph (when no cursor is visible) or move the active cursor. For cursor movement, holding the 'SHIFT' key moves by minor grid and holding the 'CTRL'-key moves by sample.

Page Up, +

View – Zoom in

Decrease x- and y ranges for the selected graph while keeping the center coordinates. Holding the 'CTRL' key applies the operation to all windows, the 'SHIFT' key to all tabs of the active window.

Page Down, -

View – Zoom out

Increase x- and y ranges for the selected graph while keeping the center coordinates. Holding the 'CTRL' key applies the operation to all windows, the 'SHIFT' key to all tabs of the active window.

ESC

 

Close a dialog or stop executing a script

SPACE

 

Activate the other cursor

F1

Help – Manual

Show this manual

ALT+F4

File – Exit

Exit VaryPlot

CTRL+TAB

 

Change to the last active window

SHIFT+CTRL+TAB

 

Change to the next active window

Appendix 4: Drag & Drop Operations

VaryPlot accepts files dragged and dropped to the application. Depending on the type of file and where it is dropped, different actions are taken:

File Type

Dropped over

Action

Directory

Main VaryPlot window

Current directory change

Script file

Main VaryPlot window

The script is executed

Data file

Main VaryPlot window

A new window and a new graph is created, the data file is loaded as new curve

Data file

Graph window title bar

A new graph is created on this window and the data file is loaded as new curve

Data file

Graph

A new curve is added for the data file

Data file

Text field of Load Curves from Selected Columns of TXT file

The full-path file name is entered in the text field

Appendix 5: Connect Styles

In analog graphs, samples can be connected in various ways:

Description: Description: Description: Description: Description: Connect Types 1

Description: Description: Description: Description: Description: Connect Types 2

Description: Description: Description: Description: Description: Connect Types 3

Description: Description: Description: Description: Description: Connect Types 4

Appendix 6: Marker Types

Samples markers can have a bunch of different types and sizes. They can be used to indicate the location of samples read from a data file or can be placed in regular grid distances to distinguish curves.

Description: Description: Description: Description: Description: Marker Types 1

Description: Description: Description: Description: Description: Marker Types 2

Description: Description: Description: Description: Description: Marker Types 3

Description: Description: Description: Description: Description: Marker Types 4

Appendix 7: Supported Engineering Prefixes

Engineering prefixes are used as multipliers for preceding numbers. Example: 1.5n = 1.5*1e-9. The engineering number format can be used in data files, in script files and in the number fields of graph properties and cursor properties.

Prefix

Value

y

1e-24

z

1e-21

a

1e-18

f

1e-15

p

1e-12

n

1e-9

u

1e-6

m

1e-3

%

1e-2

k

1e3

M

1e6

meg

1e6

G

1e9

T

1e12

P

1e15

E

1e18

Z

1e21

Y

1e24

Appendix 8: Data Files with Header

A header in a data file can be used to set curve names and label text. The syntax is:

Keyword

Parameter

Usage

names:

X-Axis-Label CurveName1 CurveName2 …

X label, names of curves

title:

Y-Axis Label1

Headline

subtitle:

Y-Axis-Label2

Y label

Here is an example:

names: time V1 V1/2

title: "Rising Edges"

subtitle: "Measured in January"

0 0 0

1n 0 0

2n 0.1 0.05

3n 0.4 0.2

4n 0.7 0.35

5n 1.1 0.55

6n 1.2 0.6

7n 1.1 0.55

8n 1.0 0.5

9n 1.0 0.5

 

And here is how the graph looks like after loading all columns of the data file with the option 'Read Data File Headers' checked:

Note: The label definitions are ignored in case they have been already defined previously.

Appendix 9: Equation Syntax

The equations for "y=" and "x=" in the 'EQU' tab of the curve properties may contain the following case sensitive elements:

Constants

·         Constants in scientific or engineering format like "3.7", "5.1e-9", "8.4n"

·         "pi" which equates to 3.141592654

Variables

The independent variable "x" can be used in the "y=" field.

Identifiers

Curve Identifiers have to be specified in the "ID" field of the respective curve. It is also shown in the tooltip of the mouse cursor when moving over the curve list. Identifiers have to start with a letter and can be followed by any sequence of letters, numbers or underline characters.

Using an identifier in the "y=" field requires an operand between the parentheses after the identifier. For example: "ID(x)", "ID(3)",  "ID(x-5n)"

When used in the "x=" field, the identifier has to be used without operand to get the x-samples of the respective curve: "ID()"

Operators

The following operators are supported and have to be placed between operands (numbers, identifiers or functions)

Operator

Precedence

Meaning

+

1

Addition

-

1

Subtraction

*

2

Multiplication

/

2

Division

^

3

Power

The operators are executed starting with the highest precedence.

Functions

Function keywords have to be followed by parenthesis with one or more arguments inside. Multiple arguments have to be separated by commas. Trigonometric functions expect angles in radian format.

 

Keyword

Number of Arguments

Return Value

abs

1

The absolute value of its argument

acos

1

The angle whose cosine is the specified argument

asin

1

The angle whose sine is the specified argument.

atan

1

The angle whose tangent is the specified argument.

atan2

2

The angle of a (y,x) pair argument in the Cartesian coordinate system

avg

2

The average of its two arguments

ceil

1

The smallest integral value that is greater than or equal to the specified argument

cos

1

The cosine of its argument

cosh

1

The hyperbolic cosine of its argument

exp

1

The base of natural logarithms raised to a power

floor

1

The biggest integral value that is smaller than or equal to the specified argument

ln

1

The natural logarithm of its argument

log

1

The base 10 logarithm of its argument

max

2

The bigger of its two arguments

min

2

The smaller of its two arguments

round

1

The nearest integral value

sign

1

Returns -1 if argument is smaller than zero, +1 if bigger than zero or 0 if the argument is zero

sin

1

The sine of its argument

sinh

1

The hyperbolic sine of its argument

sqrt

1

The square root of its argument

tan

1

The tangent of its argument

tanh

1

The hyperbolic tangent of its argument

Appendix 10: Curve Data Manipulation

The sample coordinates can be reviewed and changed in the sample editor dialog. You open it with the context menu of the curve list in the graph properties:

Description: Description: Description: Description: Description: CurveSampleEditor

The large box at the left bottom of the window lists all samples of the curve. Selecting one of them copies its x- and y-values to the edit fields on top. Here you can make changes and assign the changed number back by pressing the button to the right. Adding and deleting samples is done with the respective buttons. The arrow buttons move samples up or down.

With 'Gain/Offset' you get to a dialog where you can scale and shift the x- and y-values of all samples:

Description: Description: Description: Description: Description: GainOffset  Description: Description: Description: Description: Description: Normalize  Description: Description: Description: Description: Description: X-Match

With 'Y-Normalize' you call the normalization dialog where you can scale and offset the y-values in such a way that target y-values are reached for two arbitrary x-values:

The last button calls X-match dialog where you can shift the x-values in a way that a certain y-level is crossed at a target x-value.

Please note that by closing the curve sample editor with 'Discard' you leave the curve samples of the graph unchanged. If you press 'OK', you accept the changes for the curve in the memory. The data file is still unchanged but you can save the data using the context menu of the curve list in the graph properties dialog.

Appendix 11: Program Options

VaryPlot can be configured in many ways by the user. The options dialog is called via the 'File' menu. The settings are stored in the file 'VaryPlotini.vps' which is located in the directory:

"\Documents and Settings\<windows_user>\Application Data\VaryPlot"

The settings can be saved and loaded using the buttons on the bottom of the dialog.

General

Application Main Window

Show Script Progress in Status Bar

A small progress bar is displayed in the status bar indicating the advance of the script currently executed

Show Mouse Coordinates in Status Bar

If checked, the coordinates of a mouse hovering over a graph are indicated in the left part of the status bar

Max File Length in Title

Maximum number of characters used to display the session file in the main application title bar

Max File Length in Recent List

Maximum number of characters used to display the session files in the recent list

Max Dir Length in Recent List

Maximum number of characters used to display the current directories in the recent list

Window Options

Open Initial Window at Startup

Automatically open a new window after program start

Maximize First Window

The first new window in a blank workspace is maximized

Hide single tab

Windows with only one graph don't show the tab in order to increase the bitmap size of the graph

Frozen Windows are Frameless

If 'Freeze Windows' is selected from the 'Window' menu, the frames are removed in order to indicate the frozen state and to increase the bitmap sizes of the graphs

Freeze Windows after Arranging

If checked, arranging windows in columns or rows by the respective items in the 'Window' menu is finalized by freezing them

Frozen Windows Indicator

In the frozen state, it is difficult to see the active window, so you can select how VaryPlot shall indicate the one you are currently working on. You have the choice between one or four little boxes in the corners or a thin frame around the graph.

Dialogs

Show Graph Properties in Taskbar

The Graph Properties dialog appears in the Windows taskbar if this option is checked

Show Cursor Properties in Taskbar

The Cursor Properties dialog appears in the Windows taskbar if this option is checked

Show Curve Statistics in Taskbar

The Curve Statistics dialog appears in the Windows taskbar if this option is checked

Show Load Curve Dialog in Taskbar

The Load Curve (selected columns) dialog appears in the Windows taskbar if this option is checked

Keep Graph Properties on Top

The Graph Properties dialog always stays on top of the main application window if this option is checked

Keep Cursor Properties on Top

The Cursor Properties dialog always stays on top of the main application window if this option is checked

Keep Curve Statistics on Top

The Curve Statistics dialog always stays on top of the main application window if this option is checked

Keep Load Curve Dialog on Top

The Load Curve (selected columns) dialog always stays on top of the main application window if this option is checked

Remember Dialog Positions

If checked, a dialog is opened at the same location it was closed the last time. Otherwise it is opened at the current mouse location.

Smart Select Cursor Properties Tab

If checked, when opening the Cursor Properties the tab is selected depending on how the dialog was opened:
The 'General' tab is selected when clicking on the cursor cross in the status bar.
The 'Label' tab is opened when double clicking on the cursor cross on the graph.
The 'Move X' tab is selected when clicking on the X coordinate in the status bar.
The 'Move Y' tab is selected when clicking on the Y coordinate in the status bar.

Usability

Toolbar Behavior

Apply General Font Size to Tags

If checked, curve tags are also set by the 'Font Size' toolbar button

Apply General Font Size to Notes

If checked, notes are also set by the 'Font Size' toolbar button

Apply General Font Size to Cursor Labels

If checked, cursor labels are also set by the 'Font Size' toolbar button

Apply General Font Size to Cursor Size

If checked, the 'Font Size' toolbar button also selects a proper cursor size

Apply General Line Width to Cursor Width

If checked, the 'Line Width' toolbar button also selects a proper cursor width

Apply changes also to Invisible Curves

If checked, also invisible curves are changed by toolbar buttons

Ask Before

Delete Sample

If checked, in case of this events is requested by the user, a message box appears and asks for confirmation before execution.

Delete Curve

Delete Graph

Close Window

Exit Program

Reload Curve

Reload or Start New Session

Mouse Behavior

Thick Zoom Rectangle

The rectangle drawn during window zoom appears with thicker lines

Show New Ranges during Window Zoom

If checked, the new ranges are displayed at the mouse cursor when performing a window zoom.

Minimum number of pixels for XY zoom

Minimum rectangle size for window zoom. If you stay below this dimension, the x- or y-range is kept.

Hide Cursor Labels during Window Zoom

If this option is checked, all cursor labels are hidden during drawing the rectangle for window zoom.

Cursor Catching Rangy by Mouse

The maximum distance between mouse pointer and Cursor center in pixels for being able to move a Cursor by drag and drop

Mouse Wheel alone

Mouse wheel function without holding a key

Mouse Wheel (Shift)

Mouse wheel function while holding the Shift-key

Mouse Wheel (CTRL)

Mouse wheel function while holding the CTRL-key

Mouse Wheel Centers before Zooming

If checked, the graph area is first centered at the mouse pointer before executing the zooming operation of the mouse wheel.

Frequent Refresh during Mouse Move

Unselect this option in case you experience slow response while window zooming in a VPN remote session

XY Graph Context Menu

Never: The graph context menu is turned off. The right mouse button always acts like 'Previous Area'
Outside Area: The graph context menu is activated when pressing the right mouse button in the frame surrounding the active plotting area. Inside the active plotting area, the right mouse button acts like 'Previous Area'
Always: The graph context menu is activated when pressing the right mouse button anywhere inside the graph.

Automatic Curve Identifiers

Characters Considered from Title

When double clicking on the 'Identifier' text field in the graph properties dialog or when selecting an operation from the 'Math' section of the curve context menu, an identifier can be created from the curve title. Here you can select, how many characters of the curve title are considered to do this.

Current Dir

Current Directory

Browse

Opens a dialog to select the current directory

Store Current Directory in 'VaryPlotIni.vps'

If checked, VaryPlot stores a current directory in its initialization file. This changes only when you save the options and is restored every time you start the program. If unchecked, the last directory used in the previous session is restored.

Set Current Directory by

Open Session

Check the operations by which you want the current directory to be set

Save Session

Load Data File

Save Curve Data

Save Graphics Bitmap

Use Current Directory for

Open Session Dialog

Check the dialogs where you want the current directory to be used

Save Session As Dialog

Load Data File Dialog

Save Curve Data As Dialog

Save Graphics Bitmap Dialog

File IO

Script Files

Save relative paths of Curve Data files

If checked, the data file names are stored in respect of the script file location. Otherwise the full path starting with the drive letter is used.

Save Main Window Size with Session

If checked, VaryPlot stores the main application size with each session script

Save Main Window Location with Session

If checked, VaryPlot stores the main application location on the Windows desktop with each session script

Save Session Menu Options in Script

If checked, the selections made in the 'Session' menu are stored in the session scripts.

Save Freeze State with Session

If checked, VaryPlot stores the check state of the menu item 'Window – Freeze Windows' in the session scripts.

Save Cursors with Graphs

If checked, all cursor's parameters are stored with the session

Graphics Files

Default Bitmap File Type

You can choose the file type pre-selected in the 'Save Bitmap As' dialog from the dropdown list

Ini-File

Save Current Application Window Size

Check this option if the VaryPlot main window size shall be stored in the ‘Ini’ file loaded at startup

TXT Data Files

Ignore corrupt rows in Data Files

If checked, VaryPlot moves on to the next row without indicating an error, if one row does not contain enough columns or has columns that cannot be interpreted as numbers.

Read Data File Headers

If checked, VaryPlot searches for headers in data files to define curve names and labels.

Default X-Column

These columns are used for drag and drop and when you load a file with the respective items from the graph menu, the toolbar, the graph context menu or the curve list context menu.

Default Y-Column

Load all Columns with Drag and Drop

If checked, VaryPlot checks how many columns the data file has and loads the second and consecutive columns as data files. If unchecked, it loads only the second column. The first column always serves as x-data. In case the data file contains only one column, this is interpreted as y values and the row number serves as x column.

Count up Marker Type for new Curves

If checked, for each new curve a different marker type is chosen.

Start Row Numbering at 0

If you select the row number as data source for a curve, normally the numbering starts at 1. If this option is checked, it starts with 0.

Reload Indicator Duration

How long the little pop-up window stays if data is reloaded

Flash Auto Reload Indicator

Cycle the frame colors quickly for the message box that shows up when data was reloaded automatically after activating the main application window

Default Data File Extension

This extension is used for the standard filter in the open data file dialogs

File Name Display

Select how the curve data file names are displayed

Graph Options

General Graph Settings

Fast Curve Draw by Decimation

If checked, the program reduces the number of samples by binning samples with the same horizontal pixel location. Only the samples with neighbors at different x-pixel locations and those with the minimum and maximum y-location are kept. This option drastically improves the drawing speed for curves with a large number of samples.

No Decimation for less than …

The minimum number of curve samples for decimation to be applied

Smooth Curves by Antialiasing

Enables anti-aliasing for drawing curve markers and connects

Smooth Grid by Antialiasing

Enables anti-aliasing for drawing grid lines

Place Markers on Integer Pixels

If checked, curve marker locations are rounded to the next integer pixel so every marker looks exactly the same without any aliasing effect

Clear Type Text

Enables anti-aliasing for text

Synchronize X Margin with Range

When checked, the margins around the plotting area of a graph are kept equal if the x range is synchronized. This ensures that windows arranged in a column have aligned x axis.

Maximize Graph Area when no Label

If this option is checked, the space reserved for a label is removed when it does not contain any text.

Minimize Right Margin

If this option is checked, the space at the right of the graph area is kept to a minimum. Otherwise enough margin is reserved for the last axis value.

Consider Ranges for Auto Axis Scaling

Normally the major grid spacing is relevant for determining the optimal axis scaling. If this option is checked, VaryPlot uses the absolute values of the ranges for this purpose.

Use Capital 'E' for scientific numbers

Here you can choose how the exponent is separated from the mantissa in scientific numbers (i.e. "1.5e-6" vs. "1.5E-6").

Unit Wrapper in Labels

The characters surrounding the prefixes and units printed after the axis labels.

Auto Decimal Places

The maximum number of digits after the decimal point for the axis text. This affects the selection of the prefix for automatic axis scaling.

Clipping

Clip Curve Connect Lines at Horizontal Border

Disables plotting thick curve lines beyond the graph border

Clip Curve Connect Lines at Vertical Border

Clip Curve Markers at Horizontal Border

Disables plotting large curve markers beyond the graph border

Clip Curve Markers at Vertical Border

Clip Curve Tags at Horizontal Border

Disables plotting curve tags beyond the graph border

Clip Curve Tags at Vertical Border

Minimum Major Grid Distance

X, Y

The number of pixels major grid lines have to be at least apart.

Graph Appearance

Analog Graph Appearance

Surround Histogram Bars with Lines

Draws lines around histogram borders to get a clean filled area

Skip Tags Overlapping Predecessor

Tags located too close to their last printed predecessor are omitted

Digital Graph Appearance

Hide Unused Horizontal Grid Lines

The horizontal grid lines below the last curve are omitted

Hold last Sample

Extend digital curves beyond the last sample by holding its last value for an x interval that is equal to the distance between the last two samples.

Bold Line for Bit = High

Draw the line at the high level thicker than the vertical transitions digital curves of type 'Bit'

Bold Line for Bit = Low

Draw the line at the low level thicker than the vertical transitions for digital curves of type 'Bit'

Word Text in Curve Color

The numbers inside words are printed in the curve color if this option is checked, otherwise the standard font color is used.

Auto Decrease Word Font

In case the available horizontal space inside of a word is not big enough for the selected legend font size, the number is printed in a smaller font.

Show Number Base in Words

Append a number base indicator ('b' for binary, 'd' for decimal or 'h' for hexadecimal) to the values printed inside of a digital curve of type 'Word'.

Leading Zeros

Fill the numbers inside digital curves of type 'Word' with zeros at the beginning until the maximum number of digits for this curve is reached.

Markers on Word

Select where to place sample markers on curves with connect style 'Word'.

Minimum Vertical Curve Pitch

The minimum vertical pitch for curves in a digital graph relative to the label font size. If not all curves fit onto the graph using this value, the last curves are omitted and an overflow indicator in form of two triangles appears below the legend box.

Maximum Vertical Curve Pitch

The maximum vertical pitch for curves in digital graphs relative to the label font size. If the available vertical space in the graph is not used up with this value, some space is left blank below the last curve.

Word Transition Slope

Changes of the Y-value are indicated by an 'X' when connection type 'Word' is selected. Here you can set the steepness of that symbol. Higher values leave more space for value text between two transitions.

View

Redraw Graph

While Resizing

Selects if graphs are continuously redrawn during resizing a window

After Size Changed

If checked, graphs are redrawn after its window has settled to a new size

After Properties Changed

If checked, the active graph is immediately redrawn whenever a graph property is changed

After Properties Closed

Selects if the graph is redrawn when the graph properties dialog closes

Suppress Area Extension

When Zooming

If checked, the program allows range limits that are not multiples of a grid for certain events. This avoids subtle range increases.

When Graph Size Changed

Autorange Graph

After First Curve Added to Graph

Autorange if the first curve is loaded in an empty graph

After Subsequent Curves Added

Autorange if a new curve is loaded in a graph that already contains curves

After Curve Editing

Autorange if the curve samples have been changed by the samples editor

After Manual Reload of Single Curve

Autorange after a curve has been reloaded using the context menu of the curve list.

After Manual Reload of All Curves

Autorange if all curves of a graph have been reloaded by either selecting all curves in the list and executing 'Reload' in the context menu or by selecting 'Reload all Curves' from the 'Graph' menu.

After Automatic Reload of Curves

Autorange if curves in a graph have been automatically reloaded because the data file has been changed. This can happen, if 'Auto Reload Data' has been checked in the 'Session' menu.

Step Size

Zoom

The factor in percent that is applied to the ranges when zooming in or out.

Pan

The percentage the range is shifted when panning.

Menus and Buttons

Here you can select which items shall be visible in the

The checked list boxes have context menus (right mouse button) for checking all or no item.

Graph Defaults 1

On this tab you can select the general properties used for new graphs.

Graph Defaults 2

On this tab you can select the advanced properties including default colors used for new graphs.

Curve Options

On this tab you can select the default properties for new curves.

For equation based curves with x-step specified, you can also set an upper limit for the sample number here to avoid extremely long calculation times caused by wrong entries. Also the default setting for the automatic recalculation of equation based curves with every redraw can be set here.

Curve Colors

This tab shows a list of available curve colors. You can select an item from the list to change its name or color. A context menu for the list allows to add, copy, paste, delete colors or to reset the color list to the factory setting.

Note Defaults

On this tab you can select the properties used for new notes.

Cursor Defaults

On this tab you can select the properties used for cursors. Those properties are applied at the time of creating a new graph.

Appendix 12: Script Language

VaryPlot can stores its sessions in the form of an ASCII script. It can be easily reviewed and changed with standard editors or automatically created by other programs together with the data files to view.

A script file has one command per line. Each command can have one or more parameters. Commands and parameters have to be separated by blanks or tabs. Parameter values have to follow directly after the parameter keyword only separated by a ‘=’ character. Locations, sizes and ranges requiring x- and y-values use a ‘:’ as separator between x and y. For boolean parameters the value following the ‘=’ character can be ‘yes’ or ‘no’.

A line starting with a ‘#’ is regarded as comment.

If VaryPlot discovers an error when executing a script, a pop-up window appears asking if the execution shall be aborted or if the error shall be ignored or if the user wants to correct the respective line and retry.

Scripts can be automatically generated by VaryPlot with the menu ‘File ŕ Snapshot’ functions. They can be used later to reproduce graphs and Windows currently visible. They are also good examples for the creation of own scripts.

The scripts are not case sensitive, upper and lower cases can be mixed arbitrarily.

Filenames, paths and text parameters have to be placed between quotation marks "" if they contain blank spaces. For this reason, quotation marks are not allowed in text parameters.

The easiest way to learn how scripts are organized is by opening one in a text editor. You can find some in the 'Examples' directory in the path were you installed VaryPlot.

addcurvetxt (short form: addctxt)

Add a new text file based curve to the active graph

First parameter: DATAFILE

Second parameter: X-column:Y-column

Consecutive parameters: See setcurve

Example: addcurvetxt "ve1.txt" 1:2

Addcurvetouch

Add a new touchstone file based curve to the active graph

First parameter: TOUCHSTONEFILE

Second parameter: X-column:Y-column

Consecutive parameters: See setcurve

Example: addcurvetouch "balun.s3p" 1:2

addcurveequ (short form: addcequ)

Add a new equation based curve to the active graph

First parameter: x-equation, second parameter y-equation

Consecutive parameters: See setcurve

Example: addcurveequ "0:10m:2" "log(x+0.1m)"

addgraph (short form: addg)

Add a new graph to the active Window

Parameters: See setgraph

Example: addgraph ti="Graph_white" type=analog

addnote (short form: addn)

Add a new note to the active graph

First parameter: title

Consecutive parameters: See setnote

Example: addnote "NOTE_1" "Sine"

addwindow (short form: addw)

Add a new Window window

Parameters: See setwindow

Example: addwindow ti="Window_5"

endscript (short form: ends)

Terminate the execution of the script in this line

load (short form: lo)

Load and execute another script. Continue with the next line after the execution of the other script has finished.

Parameters: The filename of the other script

pause (short form: pau)

Pause the execution of the script with a dialog-box

Parameter: The message shown in the dialog box

savegfx (short form: sgfx)

Save the active graph bitmap to the previously set graphics file (see setgraph).

setapplication (short form: sapp)

Set parameters for the VaryPlot application window

Parameter

Short form

Value

Meaning

arrangewincol

arc

integer, 1..no of windows

Arrange all windows into columns

arrangewinrows

arr

integer, 1..no of windows

Arrange all windows into rows

autoreloaddata

aur

yes|no

Turn on or off the automatic data reload

exit

-

time in ms

Exit the application after a given time period

freeze

frz

yes|no

Set windows freeze state

lockrange

lkr

x|y|autoy|none

Select the range locking between windows

location

loc

x|y

Set the application location on the Windows workspace

maximize

max

yes|no

Select if the application window state is maximized

savegraphbitmaps

-

yes|no

Save all graph bitmaps to files

sessionbitmap

-

filename

Set the session bitmap filename

savesessionbitmap

savebitmap

-

Save the session to the bitmap file defined previously

showtoolbar

sht

yes|no

Turn on or off the toolbar

showstatusbar

shs

yes|no

Turn on or off the statusbar

size

si

width:height

Set the application window size in pixels

synchcursors

syc

yes|no

Turn on or off the cursor x coordinate synchronization

synchrange

syr

x|y|xy|none

Select the range synchronization between windows

synchtab

syt

yes|no

Turn on or off the tab synchronization

Example; setapplication synchcursors=no

setcursor1, setcursor2 (short forms: setc1, setc2)

Set the parameters of cursor 1 or cursor2

Parameter

Short form

Value

Meaning

autolabelloc

all

yes|no

Turn on or off the automatic label location

color

col

integer, 0..6

Select the color mode

curveidx

cri

integer, 0.."number of curves"-1

The index of the curve the cursor is attached to

height

hi

integer, 1..99999

The cursor's cross line height in pixels

labeldigits

ldi

integer, 1..12

The number of digits shown in the label

labelfontsize

lsi

integer, 2..100

The label font size in pixels

labelloc

lal

integer, 0..3

The label location (0=left top, 1=right top, 2=right bottom, 3=left bottom)

lockcurve

lkc

yes|no

Lock the cursor to the current curve

locksweep

lks

yes|no

Lock the cursor to the current sweep

relative

rel

yes|no

Coordinates in status bar show relative coordinates to second cursor

showcurve

shc

yes|no

Show the curve name in label

showdist

shdi

yes|no

Show the distance to second cursor in label

showdx

shdx

yes|no

Show DX in label

showdy

shdy

yes|no

Show the DY in label

showdydx

shdydx

yes|no

Show DY/DX in label

showfreq

shf

yes|no

Show the frequency in label

showlabel

shl

yes|no

Show the cursor's label

shownumber

shn

yes|no

Show the cursor number in label

showsample

shsa

yes|no

Show the sample number in label

showslope

shsl

yes|no

Show the slope in label

showsweep

shsw

yes|no

Show the sweep number in label

showx

shx

yes|no

Show the x coordinate in label

showy

shy

yes|no

Show the y coordinate in label

snaptosamples

sns

yes|no

Select if the cursor shall snap to curve samples when moving with mouse

sweep

swp

integer

The sweep number of the curve, the cursor is attached to

track

tr

yes|no

Track the other cursor's x location

visible

vi

yes|no

Show the cursor

width

wi

integer, 1..9

The cursor's cross line width in pixels

xco

x

number

The x-location of the cursor in graph coordinates

Example: setcursor1 curveidx=0 color=0 width=3 height=20

setcurve (short form: setc)

Set the parameters of the curve which has been added last

Parameter

Short form

Value

Meaning

backtrace

bt

yes|no

Turn on or off the curve’s back trace visibility (decreasing x-values)

clip

cp

integer, 0..2

Select when the connection between samples is visible

color

co

integer

Set the color number of the curve

connect

cn

integer, 0..7

Set how samples are connected

digiconnect

dc

integer, 0..5

Set the curve type for digital graphs

digithresh

dt

number

Set the threshold value for curves of type 'Bit'

equautorecalc

ear

yes|no

Set the automatic recalculation of equation curves with every redraw

forwardtrace

ft

yes|no

Turn on or off the curve's forward trace visibility (increasing x-values)

identifier

id

string

The identifier of the curve for referencing in equations

inlegend

il

yes|no

Turn on or off the curve’s appearance in the legend

linewidth

lw

integer, 1..100

Set the line width in pixels for markers and connections

markloc

ml

0|1

Set the marker location (sample or grid)

marksize

ms

integer, 0..100

Set the marker size in pixels

marktrans

mt

yes|no

Turn on or off the marker transparency

marktype

mt

integer, 0..17

Set the marker type

opacity

op

integer, 0 .. 100

Opacity used for drawing the curve

pattern

pa

integer, 1 .. 15

Index of the connect pattern used

showtags

sta

yes|no

Turn on or off tag visibility

tagalignment

taal

integer, 0 .. 9

Alignement of the tags relative to the curve samples

tagcolorcurve

tacc

yes|no

Turn on or off usage of curve color for tags

tagcontent

tact

integer, 0 .. 6

Index of the tag content

tagdigits

tadi

integer, 0 .. 5

Index of the selection for number of digits

tagfontsize

tafs

integer

Fontsize in pt used for drawing the tags

tagopacity

taop

integer, 0 .. 100

Opacity used for drawing the tags

tagsamplerange

tasr

string

Definition string for tag sample range

tagtransparent

tatr

yes|no

Turn on or off the background transparency of tags

title

ti

string

Set the title of the curve

verticaltrace

vt

yes|no

Turn on or off the curve's vertical trace visibility (constan x-values)

visible

vi

yes|no

Turn on or off the curve’s appearance in the legend

Example: setcurve title="vs" visible=yes inlegend=yes

setgraph (short form: setg)

Set parameters of the active graph

Parameter

Short form

Value

Meaning

areaext

ae

integer, 0..2

Select the automatic area extension to grid multiples

autohgrid

ahg

yes|no

Turn on or off the automatic horizontal grid setting

autovgrid

avg

yes|no

Turn on or off the automatic vertical grid setting

autorange

auto

x|y|xy

Activate the autoscale operation for x, y, or both ranges

axissize

axs

integer, 2..100

Set the axis text font size in pixels

axisstyle

axl

integer, 1..4

The font style used for the axis text

basewidth

dg

integer, 1..100

The line width used to draw the baseline

basey

by

number

The y-location of the baseline

dashgrid

dg

yes|no

Turn on or off the dashed grid line style

digistartidx

dsx

integer, >=0

Set the index for the topmost curve in digital graphs

engineering

eng

yes|no

Turn on or off the engineering prefixes for units

framegraph

fg

yes|no

Turn on or off the gray frame around the graph area

gfxfile

gf

string

Set the file name for the bitmap graphics save operation

headline

hl

string

Set the headline text

headsize

hds

integer, 2..100

Set the headline font size in pixels

headstyle

hdl

integer, 1..4

The font style used for the headline

invback

ib

yes|no

Turn on or off the background inversion

labelaxisends

lae

yes|no

Turn on or off the label position at axis ends

labelsize

las

integer, 2..100

Set the label font size in pixels

labelstyle

lal

integer, 1..4

The font style used for the label text

legend

le

yes|no

Turn on or off the legend

legendcol

lc

integer, 1..100

Set the maximum number of columns in the legend

legendpos

lp

integer, 0 ..13

Set the legend position

legendsize

les

integer, 2..100

Set the legend font size in pixels

legendstyle

lel

integer, 1..4

The font style used for the legend

logx

lx

yes|no

Select logarithmic x-axis

logy

ly

yes|no

Select logarithmic y-axis

majorhgridspace

mhs

number

Manually set distance between major horizontal grid lines

majorvgridspace

mvs

number

Manually set distance between major vertical grid lines

majorgridlinewidth

mjgw

1|3|5|7

Set the major grid line width in pixels

minorgridlinewidth

mngw

1|3|5|7

Set the minor grid line width in pixels

minorhtics

mht

2, 3, 4, 5, 6 8 or 10

Set the number of minor horizontal grid lines per major grid line

minorvtics

mvt

2, 3, 4, 5, 6 8 or 10

Set the number of minor vertical grid lines per major grid line

showbase

sb

yes|no

Turn on or off the base line visibility

showmajorhgrid

mah

yes|no

Turn on or off the major horizontal grid lines

showmajorvgrid

mav

yes|no

Turn on or off the major vertical grid lines

showminorhgrid

mih

yes|no

Turn on or off the minor horizontal grid lines

showminorvgrid

miv

yes|no

Turn on or off the minor vertical grid lines

size

si

width:height

Set the size in pixels of the graph bitmap

title

ti

string

Set the title of the graph tab

transparentframe

trf

yes|no

Paint the frame transparent when exporting to png

transparentbackground

tbf

yes|no

Paint the background transparent when exporting to png

type

ty

analog|digital

Set the graph type

verticalylabel

vy

yes|no

Turn on or off the vertical orientation of the y-label

xlabel

xl

string

Set the x-label text

xunitataxis

xua

yes|no

Turn on or off the x-unit position at the axis text

ylabel

yl

string

Set the y-label text

yunitataxis

yua

yes|no

Turn on or off the y-unit position at the axis text

xscale

xs

auto|number

Set the x-axis scaling

yscale

ys

auto|number

Set the y-axis scaling

xrange

xr

min:max

Set the range of the x-axis

yrange

yr

min:max

Set the range of the y-axis

xunit

xu

string

Set the units of the x-axis

yunit

yu

string

Set the units of the y-axis

Example: setgraph xlabel="Time" xunit="s"

setnote (short form: setn)

Set the properties of the note which has been added last

Parameter

Short form

Value

Meaning

arrow

ar

yes|no

Turn on or off the arrow visibility

fontsize

fs

integer, 2..100

Select the text font size

italic

it

yes|no

Turn on or off the italic text style

orientation

or

integer, 1..9

Select the note orientation

transparent

tr

yes|no

Turn on or off the text transparency

useco

uc

yes|no

Select if the graph coordinates shall be used

visible

vi

yes|no

Turn on or off the note visibility

xco

xc

number

Set the x-coordinate on graph

xloc

xl

number

Set the x-location in % of graph bitmap area

yco

yc

number

Set the y-coordinate on graph

yloc

yl

number

Set the y-location in % of graph bitmap area

Example: setnote xco=4.7E-09 yco=0.714 orientation=7 fontsize=10

setwindow (short form: setw)

Set the properties of the active Window

Parameter

Short form

Value

Meaning

autoreloaddata

aur

yes|no

Turn on or off the automatic data reload of the session

location

loc

x|y

Window location on the workspace in pixels

lockrange

lkr

x|y|autoy|none

Select the 'override ranges' setting of the session

maximize

max

yes|no

Select if window state is maximized to full workspace

size

si

width:height

Window size in pixels

synchrcursors

syc

yes|no

Turn on or off the cursor's x-location synchronization

synchtab

syt

yes|no

Turn on or off the tab synchronization of the session

synchrange

syr

x|y|xy|none

Select the 'synchronize ranges' setting of the session

title

ti

string

Set the window title

Example: setwindow location=448:55 size=300:292 maximize=no

Appendix 13: Installation

VaryPlot is installed automatically by executing the installer 'Setup-VaryPlot.exe'. If you have already installed an older version, you have to accept its removal and re-run the installer afterwards.

A directory 'VaryPlot' is created in the 'Program Files' directory containing

A directory 'VaryPlot' is created in the '<User>\Application Data' directory where VaryPlot stores working copies of the ini-file and the OS-file.

File extensions '.vps' are registered with VaryPlot for the user who did the installation. Other users have to do the registration manually with the Explorer (context menu – open with – choose program – check 'always use …' and select VaryPlot from the list).

VaryPlot adds a registry key at 'My Computer\HKEY_CURRENT_USER\Software\VaryPlot' where it stores the recent session files and directories used.

If you want to send data files or scripts to VaryPlot from the Explorer, you have to create a shortcut to 'VaryPlot.exe' in the directory 'Documents and Settings\<User>\SendTo'. After that select a data file or script file in your explorer and select 'Send To – VaryPlot' from the context menu that opens when you press the right mouse button.

To uninstall the program, select the respective item from the Windows Start menu. Note that neither the registry key nor the ini-file are deleted, so you can keep your settings when upgrading to a newer revision.

Appendix 14: Glossary

Area: The combination of an x- and y-range. The areas you select are stored in a history for navigating back and forth.

Axis: The horizontal line below (x-axis) and the vertical line (y-axis) left of the graph area delineating the coordinate system by placing numbers at regular distances. Those numbers represent the

Axis Scale: A factor that is used to keep the axis numbers in a handy format. The axis scale can be placed after the axis label or directly after the axis number. Axis scale factors can be displayed in scientific or engineering format using common prefixes.

Axis Numbering: Numbers below the x-axis and left of the y-axis marking major grid values in combination with the axis scales and units

Border: The rectangle separating the graph area from the frame. The x- and y-axis are located on the border.

Cursor: An item in the form of a cross that is movable along a curve and displays a selectable set of information inside a label attached to it

Curve: The graphical representation of a data set. A curve's data source can be either a text file or equations for x- and y-values. Curves can be drawn by placing markers at samples and/or connecting the marker locations with lines in multiple ways.

Frame: The region around the graph border where the axis numbers and labels are placed

Graph: This is where the plotting area is located surrounded by axis and labels

Grid: Vertical and horizontal lines inside the graph area at regular distances

Label: User defined text explaining the meaning of x- or y-axis. The axis scale and unit can be automatically placed behind the user text. The x-label is always located below the axis

Legend: A rectangular box with samples of curve markers and connect line followed by the curve title. The legend can be placed on 10 different locations of the graph area or on 4 different places around the border.

Margin: The distance between graph and bitmap borders

Marker: A graphical symbol indicating either the location of data samples on a curve or helping to distinguish curves by selecting different marker types

Note: A user defined annotation to your graph that appears inside the plotting area.

Prefix: A character in front of an axis unit indicating a scaling factor

Plotting area: The part of the graph bitmap representing the xy-area

Range: A set of minimum and maximum values for either the x- or y-axis

Session: The whole set of open windows, graphs, curves, notes, cursors and settings in the 'Session' menu. A session can be stored in a script file (*.vps).

Sweep: A group of subsequent samples in a curve that is either monotonic increasing or strictly monotonic decreasing

Tag: Text placed automatically at curve sample locations with selectable content like sample number or coordinates

Tic: A short stroke reaching from the axis inside the graph indicating a grid location

Unit: A user definable string denoting the meaning of axis numbers

Window: The container of one or multiple graphs organized in tabs. Windows can be moved, resized, maximized or minimized on the workspace. VaryPlot can organize the open windows automatically in columns or rows. Windows can also be frozen, so they keep their relative size and position whenever the application is resized.

Workspace: The dark grey zone between toolbar and statusbar. On the workspace you can open as many windows you need so you can work with multiple graphs at the same time.