0% found this document useful (0 votes)
637 views8 pages

An Xmgrace Tutorial

This document provides an overview of using the Xmgrace plotting software. It discusses how to import data from files, adjust axis properties, modify the appearance of datasets and graphs, perform operations on data like sorting and mathematical transformations, and save, print, and open plots. The appendix summarizes available numerical operators and functions in Xmgrace.

Uploaded by

Ren-Bo Wang
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
637 views8 pages

An Xmgrace Tutorial

This document provides an overview of using the Xmgrace plotting software. It discusses how to import data from files, adjust axis properties, modify the appearance of datasets and graphs, perform operations on data like sorting and mathematical transformations, and save, print, and open plots. The appendix summarizes available numerical operators and functions in Xmgrace.

Uploaded by

Ren-Bo Wang
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 8

An Xmgrace Tutorial

1. Introduction
The purpose of this tutorial is to enable you to start making good quality scientific plots quickly.
This will not cover everything - just some of the more important features.
When dealing with items in drop-down menus, we will use something of the form which means that on
the snaf popup, select from the foo menu the submenu bar and from the bar menu, the entry bell.
The popup main is the large one with the graph that pops up when you run xmgrace.
Things that are to be typed in will be presented in a typewriter font, eg, type y = 3*sin(x).

2. Reading data from a file


On startup: xmgrace (data file)
This is most useful if you are in the same directory as the data file and the columns you want to graph
are the first two.
If you don't enter a data file name, xmgrace will start up with an empty plot.

Read in data: Main:Data/Import/ASCII


The browser will show some of the files in your current directory (the ones that are selected using the
filter).
Select the file you want and double click or hit return or click OK to bring it into the program.
You should see a black curve drawn on a graph.
Block (Multi-column) Data:
When selecting the file, choose "Block data" from the "Load as" menu.
If the read was successful, a window should pop up asking you to create a set from the block data.
At the top it will list how many columns of data were read.
First choose the type of set you would like.
Choose the columns for the x- and y- coordinates using the drop down menus.
The values Y1 through Y4 are used for selecting error bars as may be needed by other set types.

Kill dataset: Main:Edit/Data_sets...


This lists all the datasets, and for the selected set, its type and a few statistics.
To eliminate a set from the plot, select it and then press the right mouse button.
A menu should appear from which you can select kill or kill data.
The former totally eliminates everything associated with a set while the latter eliminates the data but
keeps the settings for it so that if new data is read into the set, it will have the same properties like
colouring and line width, etc.

3. Axis Properties
Main:Plot/Axis properties or by double clicking the graph frame
Aspects of the axes are controlled by the axes popup.
To see the effect of a change, you have to hit the "Apply" button.
In the Main menu:
Choose the axis to adjust using the "Edit" drop menu at the top.
Adjust plot limits: "Start" and "Stop" boxes
Change axis scaling: "Scale" drop menu
Change from ascending to descending order: "Invert axis" button
Axis label: "Label string:" box

4. Set appearance
Main:Plot/Set appearance... or double clicking near the target set
within the graph
This allows you to change the way the sets are graphed.
Practically all aspects of the curves are configurable including colour, line thickness, symbols, drop
lines, fills, etc.
When the window pops up, there will be a list of the sets with their number (eg. G0.S1 refers to set 1 in
graph 0).
To see the effect of a change, you have to hit the "Apply" button. In the Main menu:
Select which set to adjust: "Select set menu" at top.
Turn off or change symbol type: "Type" drop menu in "Symbol properties"
Turn off or change line type: "Type" drop menu in "Line properties"
Create a legend for different point or line types: "String" box in "Legend" ("Display Legend"
must be set in Graph appearance popup window)

5. Graph appearance
Main:Plot/Graph appearance or by double clicking just above the
graph frame.
We can now fill in the title of the graph and by clicking on the "Titles" tab, the font and size and colour
can be chosen.
Print title and subtitle: "Title" and "Subtitle" boxes
Change how much of the graph window the graph takes up: "Xmin", "Xmax", Ymin",
Ymax" in "Viewport", or use the mouse to move them by first double clicking on them.
Display a legend: "Display legend" button in "Display Options"

6. Operating on Data
Sorting data, joining or splitting datasets: Main:Data/Data_set_operations
Sorting can be done in ascending or descending order, and by the x- or y-coordinate. It is also possible
to combine or split datasets.

Mathematical operations on sets: Main:Data/Transformations/Evaluate expression


Using evaluate expression allows you to create a set by applying an explicit formula to another set. All
the classical mathematical functions are available (cos, sin, etc., but also more complex ones). All
trigonometric functions use radians by default but you can specify a unit if you prefer to say cos (x rad)
or sin (3 * y deg). For the full list of available numerical functions and operators, see Operators and
functions.
In the formula, you can use X, Y, Y1, ..., Y4 to denote any coordinate you like from the source set. An
implicit loop will be used around your formula so if you say:
x = x - 4966.5

you will shift all points of your set 4966.5 units to the left.
You can use more than one set in the same formula, like this:
y = y - 0.653 * sin (x deg) + s2.y

which means you use both X and Y from the source set but also the Y coordinate of set 2. Beware that
the loop is a simple loop over the indices, all the sets you use in such an hybrid expression should
therefore have the same number of points and point i of one set should really be related to point i of the
other set. If your sets do not follow these requirements, you should first homogenize them using
interpolation.

Saving, Printing, and Opening plots


Save plot Main:File/Save
This saves the current plot parameters into a file so that you can produce the exact same graph without
starting from scratch. If the current graph has not been saved already, you will be prompted for a name.

Save plot with another name Main:File/Save as


This saves the current plot parameters into a file - you will be prompted for a name.

Open a previously made plot Main:File/Open


This opens and graphs an earlier plot using the previously saved parameters.

Prepare to print a graph Main:File/Print setup


This prepares to either print the graph on the printer, or produce a file for viewing.

Choose file type: "Device" drop menu in "Device setup" - Postscript is best for most
applications.
Print: "Print command" box in "Output" - this is the unix command that will be used to print
(e.g. "lpr -Plaser").
Produce a file: "Print to file" button in "Output" - you will then be asked to name the file.
Change the orientation of the graph on the page: "Orientation" drop menu in "Page" "Landscape" puts the x-axis on the long side of the page, "Portrait" put the x-axis on the short
side

Print a graph or output it to file Main:File/Print


This executes your wishes from the "Print setup" menu, printing to the printer using a Unix command
or producing a file.

Appendix A. Toolbar buttons


Along the left-hand side of the canvas (if shown) is the ToolBar.
It is armed with several buttons to provide quick and easy access to the more commonly used Grace
functions.
Draw: This will redraw the canvas and sets. Useful if "Auto Redraw" has been deselected in the
Edit/Preferences dialog or after executing commands directly from the Window/Commands
interpreter.
Lens: A zoom lens. Click on the lens, then select the area of interest on the graph with the
"rubber band". The region enclosed by the rubber band will fill the entire graph.
AS: AutoScale.
Autoscales the graph to contain all data points of all visible (not hidden) sets.
Z/z: Zoom in/out by 5%.
The zoom percentage can be set in the Edit/Preferences dialog.
Arrows: Scroll active graph by 5% in the arrow's direction. The scroll percentage can be set in
the Edit/Preferences dialog.
AutoT: AutoTick Axes. This will find the optimum number of major and minor tick marks for
both axes.
AutoO: Autoscale On set. Click the AutoO button, then click on the graph near the set you
wish to use for determining the autoscale boundaries of the graph.
ZX,ZY: Zoom along an axis. These buttons work like the zoom lens above but are restricted to
a single axis.
AX,AY: Autoscale the limits on one axis only.
The following buttons deal with the graph stack and there is a good example under
Help/Examples/General Intro/World Stack.
Pu/Po: Push and pop the current world settings to/from the graph stack. When popping, makes

the new stack top current.


PZ: Push before Zooming. Functions as the zoom lens, but first pushes the current world
settings to the stack.
Cy: Cycles through the stack settings of the active graph. Each graph may have up to twenty
layers on the stack.
Exit: ...

Appendix B. Numerical operators and functions


Arguments of both operators and functions can be either scalars or vector arrays. Arithmetic, logical,
and comparison operators are given in tables below.

Operator
+
*
/
%
^

Description
addition
substraction
multiplication
division
modulus
raising to power

Arithmetic operators

Operator
AND or &&
OR or ||
NOT or !

Description
logical AND
logical OR
logical NOT

Logical operators

Operator
EQ or ==
NE or !=
LT or <
LE or <=
GT or >
GE or >=

Description
equal
not equal
less than
less than or equal
greater than
greater than or equal

Comparison operators
Another conditional operator is the "?:" (or ternary) operator, which operates as in C and many other
languages.
(expr1) ? (expr2) : (expr3);
This expression evaluates to expr2 if expr1 evaluates to TRUE, and expr3 if expr1 evaluates to FALSE.

Function
abs(x)
acos(x)
acosh(x)
asin(x)
asinh(x)
atan(x)
atan2(y,x)
atanh(x)
ceil(x)
cos(x)
cosh(x)
exp(x)
fac(n)
floor(x)
irand(n)
ln(x)
log10(x)
log2(x)
maxof(x,y)
mesh(n)
mesh(x1, x2, n)
minof(x,y)
mod(x,y)
pi
rand
rand(n)
rint(x)
rsum(x)
sin(x)

Description
absolute value
arccosine
hyperbolic arccosine
arcsine
hyperbolic arcsine
arctangent
arc tangent of two variables
hyperbolic arctangent
greatest integer function
cosine
hyperbolic cosine
e^x
factorial function, n!
least integer function
random integer less than n
natural log
log base 10
base 2 logarithm of x
returns greater of x and y
mesh array (0 ... n - 1)
mesh array of n equally spaced points between x1 and x2 inclusive
returns lesser of x and y
mod function (also x % y)
the PI constant
pseudo random number distributed uniformly on (0.0,1.0)
array of n random numbers
round to closest integer
running sum of x
sine function

sinh(x)
sqr(x)
sqrt(x)
tan(x)
tanh(x)

hyperbolic sine
x^2
x^0.5
tangent function
hyperbolic tangent
Functions

Function
chdtr(df, x)
chdtrc(v, x)
chdtri(df, y)
erf(x)
erfc(x)
fdtr(df1, df2, x)
fdtrc(x)
fdtri(x)
gdtr(a, b, x)
gdtrc(a, b, x)
ndtr(x)
ndtri(x)
norm(x)
pdtr(k, m)
pdtrc(k, m)
pdtri(k, y)
rnorm(xbar,s)
stdtr(k, t)
stdtri(k, p)

Description
chi-square distribution
complemented Chi-square distribution
inverse of complemented Chi-square distribution
error function
complement of error function
F distribution function
complemented F distribution
inverse of complemented F distribution
gamma distribution function
complemented gamma distribution function
Normal distribution function
inverse of Normal distribution function
gaussian density function
Poisson distribution
complemented Poisson distribution
inverse Poisson distribution
pseudo random number distributed N(xbar,s)
Student's t distribution
functional inverse of Student's t distribution
Statistical functions

Function
MIN(x)
MAX(x)
AVG(x)
SD(x)

Description
min value of array x
max value of array x
average of array x
standard deviation of array x

SUM(x)
INT(x,y)
IMIN(x)
IMAX(x)

sum of all elements of array x


integral of y dx
index of min value of array x
index of max value of array x
Aggregate functions

You might also like