Macro Language: Range Commands
range <AXIS> <min> <max>
rescale [AXISGROUP]
upscale <AXISGROUP> [factor]
downscale <AXISGROUP> [factor]
Macro Language: Buffer Commands
select <BUFFER>
setcurrent <number>
invertselection
hide <BUFFER>
show <BUFFER>
delete <BUFFER>
duplicate <BUFFER>
setcomment <BUFFER> <text>
addcomment <BUFFER> <text>
getcomment <buffer> $<var>
setsource <BUFFER> <text>
addsource <BUFFER> <text>
getsource <buffer> $<var>
belongx <BUFFER> <axis>
belongy <BUFFER> <axis>
addvalue <buffer> <x value> <y value> <x error> <y error>
setxvalue <buffer> <index> <value>
setxerror <buffer> <index> <value>
setyvalue <buffer> <index> <value>
setyerror <buffer> <index> <value>
rmvalue <buffer> <index>
newbuffer
moveup <BUFFER>
movedown <BUFFER>
Macro Language: Control Commands
if <expr> <operator> <expr>
else
endif
if ...
and else
if the condition is true. If the condition is false it executes the commands between else
and endif
. Possible operators are ==
, !=
, >
, <
, >=
, <=
for numerical comparison and eq
, ne
for string comparison. It is not possible to define if,else,endif statements inside another if
, else
, endif
statements.
loop <RANGE>
l
. It is not possible to define loops inside another loop.
bufferloop <BUFFER>
l
. It is not possible to define buffer loops inside another loop.
dataloop <buffer>
l
, in this case the same as the point number in the buffer. During the loop the variables lx
, ly
, lxe
, lye
contains the values of the corresponding data point. It is not possible to define data loops inside another loop.
endloop
loop
, bufferloop
or dataloop
command.
timer <interval> [count]
timercount
contains a counter of executions.
stoptimer
perltimeout <seconds>
Macro Language: Interactive Commands
ask <text>
text
, and let you choose to stop or continue the macro.
askoption <text> <button1> <button0>
text
, and provide two buttons. The result will be stored in the variable option
(1 = button1
, 0 = button0
).
browse
$file
.
input [text]
input
(numerical variable for expressions) and $input
(string variable).
print <argument> ...
sleep <seconds>
setwarn <BOOL>
Macro Language: Calculation Commands
fg <axis> <min> <max> <steps> <expr>
<axis>
: The target axis (1 = X axis, 2 = Y axis)
<min>
, <max>
: The range of the new generated function.
<steps>
: Number of steps for the function.
<expr>
: Expression which defines the function.
bcalc <buffer1> <operator> <buffer2>
<operator>
: + - * /
calc <data> <expr> <BUFFER>
<data>
: The target axis (1 = X values, 2 = Y values, 3 = X error, 4 = Y error)
<expr>
: Expression which defines the calculation.
swapxy <BUFFER>
sortx <BUFFER>
sorty <BUFFER>
normx <ref1> <ref2> <new1> <new2> <BUFFER>
ref1
value becomes the new1
value and the ref2
value becomes the new2
value.
normy <ref1> <ref2> <new1> <new2> <BUFFER>
ref1
value becomes the new1
value and the ref2
value becomes the new2
value.
movex <from> <to> <BUFFER>
movey <from> <to> <BUFFER>
cutoutsidex <min> <max> <BUFFER>
min
and max
cutinsidex <min> <max> <BUFFER>
min
and max
cutoutsidey <min> <max> <BUFFER>
min
and max
cutinsidey <min> <max> <BUFFER>
min
and max
calcint <min> <max> <BUFFER>
integral
.
linreg <min> <max> <BUFFER>
min
and max
. The result of the last regression will be stored in the variables rega
, regb
and regr
.
logreg <min> <max> <BUFFER>
min
and max
. The result of the last regression will be stored in the variables rega
, regb
and regr
.
expreg <min> <max> <BUFFER>
min
and max
. The result of the last regression will be stored in the variables rega
, regb
and regr
linbg <a> <b> <BUFFER>
smooth <factor> <BUFFER>
factor
as the effective smooth width and performs a least square smooth to reduce the noise on the buffer.
fftsmooth <factor> <BUFFER>
factor
as the effective smooth width and performs an FFT based smooth to reduce the noise on the buffer.
datareduction <n> <BUFFER>
n
points, builds the average, and replaces the n points with the new one.
spline <points> <strength> <BUFFER>
<points>
: Defines the number of points which should be calculated for each interval.
<strength>
: Defines the strength of the interpolation. 2 is in most cases a good choice.
fft <windowing> <BUFFER>
<windowing>
: 1=none, 2=Hanning, 3=Welch, 4=Parzen
diff <interval> <BUFFER>
integrate <BUFFER>
setxval <BUFFER> <index> <value>
setyval <BUFFER> <index> <value>
setxeval <BUFFER> <index> <value>
setyeval <BUFFER> <index> <value>
Macro Language: Style Commands
margins <left> <right> <bottom> <top>
windowsize <width> <height>
drawbg <bool>
drawmargin <bool>
drawframe <bool>
bgcolor <c> <c> <c> [a]
bgcolor <COLOR>
a
the alpha value can be defined (default is 1.0). Alternative you can specify the color as hexadecimal string.
margincolor <c> <c> <c> [a]
margincolor <COLOR>
a
the alpha value can be defined (default is 1.0). Alternative you can specify the color as hexadecimal string.
framecolor <c> <c> <c> [a]
framecolor <COLOR>
a
the alpha value can be defined (default is 1.0). Alternative you can specify the color as hexadecimal string.
framewidth <width>
framestyle <style>
forceframe <bool>
framearrows <bool>
crossarrows <type>
framearrowsize <size>
framearrowtype <type>
Macro Language: Data Style Commands
bstyle <lines> <symblos> <fill> <ybars> <xbar> <ystick> <xstick> <dots> <hist> <fhist> <BUFFER>
bstyleclear <BUFFER>
bstylelines <bool> <BUFFER>
bstylesymbols <bool> <BUFFER>
bstylefill <bool> <BUFFER>
bstyleybars <bool> <BUFFER>
bstylexbars <bool> <BUFFER>
bstyleysticks <bool> <BUFFER>
bstylexsticks <bool> <BUFFER>
bstyledots <bool> <BUFFER>
bstylehist <bool> <BUFFER>
bstylefhist <bool> <BUFFER>
bcolor <c> <c> <c> <BUFFER> [a]
bcolor <COLOR> <BUFFER>
a
the alpha value can be defined (default is 1.0).
bfillcolor <c> <c> <c> <BUFFER> [a]
bfillcolor <COLOR> <BUFFER>
a
the alpha value can be defined (default is 1.0). Alternative you can specify the color as hexadecimal string.
bbarcolor <c> <c> <c> <BUFFER> [a]
bbarcolor <COLOR>
a
the alpha value can be defined (default is 1.0). Alternative you can specify the color as hexadecimal string.
bstickcolor <c> <c> <c> <BUFFER> [a]
bstickcolor <COLOR> <BUFFER>
a
the alpha value can be defined (default is 1.0). Alternative you can specify the color as hexadecimal string.
blinewidth <linewidth> <BUFFER>
blinepattern <pattern> <BUFFER>
bpatternwidth <patternwidth> <BUFFER>
bsymbol <symbol> <BUFFER>
bsymbolsize <symbolsize> <BUFFER>
bsymbolfill <bool> <BUFFER>
bsticksize <sticksize> <BUFFER>
Set the stick size
bsticksabs <bool> <BUFFER>
bdynsize <BUFFER> [expr]
bxerrorval <error> <BUFFER>
bxerror <type> <BUFFER>
byerrorval <error> <BUFFER>
byerror <type> <BUFFER>
berrorlinewidth <linewidth> <BUFFER>
berrorcolor <c> <c> <c> <BUFFER> [a]
berrorcolor <COLOR>
a
the alpha value can be defined (default is 1.0). Alternative you can specify the color as hexadecimal string.
dirarrows <bool> <BUFFER>
dirarrowsize <size> <BUFFER>
dirarrowlength <length> <BUFFER>
dirarrowtype <type> <BUFFER>
blegend <bool> <BUFFER>
bfreex <bool> <BUFFER>
bfreexrange
command.
bfreey <bool> <BUFFER>
bfreeyrange
command.
bfreexrange <min> <max> <BUFFER>
bfreeyrange <min> <max> <BUFFER>
barytop <bool> <BUFFER>
barybottom <bool> <BUFFER>
barxleft <bool> <BUFFER>
barxright <bool> <BUFFER>
Macro Language: Axis Style Commands
setaxis <x axis 1> <y axis 1> <x axis 2> <y axis 2>
ascalstart <AXIS> <start>
ascalend <AXIS> <end>
asetreverse <AXIS> <bool>
atickdist <AXIS> <dist>
days:hours:minutes:seconds
or w
(1 week) or m
(1 month) or y
(1 year).
aminsteps <AXIS> <steps>
atimeformat <AXIS> <format>
atrigger <AXIS> <trigger>
ascalexpr <AXIS> <expr>
v/1000
in this field. v is the variable which represents the axis number.
aexpoffset <AXIS> <offset>
adecplaces <AXIS> <n>
adecplacesauto <AXIS> <bool>
aformat <AXIS> <format>
asetsmalllogzero <AXIS> <bool>
atext <AXIS> <text>
anumfont <AXIS> <font> <size>
anumoffset <AXIS> <offset>
anumalign <AXIS> <align>
<align>
: The text box alignment.

anumangle <AXIS> <angle>
atextfont <AXIS> <font> <size>
atextoffset <AXIS> <offset>
atextoffsetwindow <AXIS> <bool>
asetnum <AXIS> <bool>
asettext <AXIS> <bool>
asetfliptext <AXIS> <bool>
atextcolor <AXIS> <c> <c> <c> [a]
atextcolor <AXIS> <COLOR>
asetzeroline <AXIS> <bool>
azerolinecolor <AXIS> <c> <c> <c> [a]
azerolinecolor <AXIS> <COLOR>
aticklength <AXIS> <length>
aminticklength <AXIS> <length>
atickwidth <AXIS> <width>
amintickwidth <AXIS> <width>
asetticks <AXIS> <bool>
asetminticks <AXIS> <bool>
asetticksbothsides <AXIS> <bool>
asetminticksbothsides <AXIS> <bool>
atickcolor <AXIS> <c> <c> <c> [a]
atickcolor <AXIS> <COLOR>
amintickcolor <AXIS> <c> <c> <c> [a]
amintickcolor <AXIS> <COLOR>
atickstyle <AXIS> <style>
asetgrid <AXIS> <bool>
asetmingrid <AXIS> <bool>
agridcolor <AXIS> <c> <c> <c> [a]
agridcolor <AXIS> <COLOR>
amingridcolor <AXIS> <c> <c> <c> [a]
amingridcolor <AXIS> <COLOR>
agridwidth <AXIS> <width>
amingridwidth <AXIS> <width>
agridpattern <AXIS> <pattern>
amingridpattern <AXIS> <pattern>
agridfront <AXIS> <bool>
amingridfront <AXIS> <bool>
alabel <AXIS> <number> <replacement>
aclearlabels <AXIS>
Macro Language: Legend Commands
setlegend <bool>
legendpos <x> <y>
setlegendbg <bool>
setlegendhorizontal <bool>
legendalign <align>

legendlength <length>
legendspace <space>
legendcolor <c> <c> <c> [a]
legendcolor <COLOR>
legendbgcolor <c> <c> <c> [a]
legendbgcolor <COLOR>
legendfont <font> <font size>
Macro Language: Text & Graphic Commands
text <tag> <x> <y> <font> <font size> <text> [c] [c] [c] [angle] [align] [pos] [offset] [cb] [cb] [cb]
<tag>
: The tag
argument should be an integer value which can be used later to address a graphic or text object. Interactively created text or graphic objects always have the tag 0.
<x>
, <y>
: the position in screen coordinates of the text.
<font>
: The font for the text (e.g. Helvetica-Bold)
<font size>
: The font size of the text.
[c] [c] [c]
: The color of the text. Dependent on the color mode the three values are RGB or HSB values from 0.0 to 1.0. The color mode can be set with the command colormode
(0=RGB, 1=HSB).
[angle]
: The text angle.
[align]
: The text alignment (0=left, 1=center, 2=right).
[pos]
: The position for automatically positioned text label (0=off, 1-21 fixed text positions).

[offset]
: Offset for automatically positioned text label.
[cb] [cb] [cb]
: The color of the text background. Dependent on the color mode the three values are RGB or HSB values from 0.0 to 1.0. The color mode can be set with the command colormode
(0=RGB, 1=HSB).
ftext <tag> <COOR> <x> <y> <font> <font size> <text> [c] [c] [c] [angle] [align] [tbalign] [cb] [cb] [cb]
<tag>
: The tag
argument should be an integer value which can be used later to address a graphic or text object. Interactively created text or graphic objects always have the tag 0.
<COOR>
: The coordinate system to which the rectangle belongs.
<x>
, <y>
: the position of the text in the defined coordinate system.
<font>
: The font for the text (e.g. Helvetica-Bold)
<font size>
: The font size of the text.
[c] [c] [c]
: The color of the text. Dependent on the color mode the three values are RGB or HSB values from 0.0 to 1.0. The color mode can be set with the command colormode
(0=RGB, 1=HSB).
[angle]
: The text angle.
[align]
: The text alignment (0=left, 1=center, 2=right).
[tbalign]
: The text box alignment.

[pos]
: The position for automatically positioned text label (0=off, 1-21 fixed text positions).

[offset]
: Offset for automatically positioned text label.
[cb] [cb] [cb]
: The color of the text background. Dependent on the color mode the three values are RGB or HSB values from 0.0 to 1.0. The color mode can be set with the command colormode
(0=RGB, 1=HSB).
qtext <COOR> <x> <y> <text> [angle] [align] [tbalign] [COLOR]
<COOR>
: The coordinate system to which the rectangle belongs.
<x>
, <y>
: the position in screen coordinates of the text.
[angle]
: The text angle.
[align]
: The text alignment (0=left, 1=center, 2=right).
[tbalign]
: The text box alignment.

[COLOR]
: The text color as hexadecimal string.
ptext <text> <pos> [angle] [offset] [COLOR]
[pos]
: The position for automatically positioned text label (valid values are 1-21).

[angle]
: The text angle (can be 0, 90, 180 or 270).
[offset]
: Offset for automatically positioned text label.
[COLOR]
: The text color as hexadecimal string.
rect <tag> <COOR> <x> <y> <w> <h> [linewidth] [dash] [c] [c] [c]
rect <tag> <COOR> <x> <y> <w> <h> [linewidth] [dash] [COLOR]
<tag>
: The tag
argument should be an integer value which can be used later to address a graphic or text object. Interactively created text or graphic objects always have the tag 0.
<COOR>
: The coordinate system to which the rectangle belongs.
<x>
, <y>
: The position of the rectangle in the defined coordinate system.
<w>
, <h>
: The size of the rectangle in the defined coordinate system.
[linewidth]
: The rectangles line width.
[dash]
: The dash pattern for the rectangle (0-15).
[c] [c] [c]
: The color of the rectangle. Dependent on the color mode the three values are RGB or HSB values from 0.0 to 1.0. The color mode can be set with the command colormode
(0=RGB, 1=HSB). Alternative you can specify the color as hexadecimal string.
frect <tag> <COOR> <x> <y> <w> <h> [linewidth] [dash] [c] [c] [c] [cf] [cf] [cf]
frect <tag> <COOR> <x> <y> <w> <h> [linewidth] [dash] [COLOR] [COLOR]
<tag>
: The tag
argument should be an integer value which can be used later to address a graphic or text object. Interactively created text or graphic objects always have the tag 0.
<COOR>
: The coordinate system to which the rectangle belongs.
<x>
, <y>
: The position of the rectangle in the defined coordinate system.
<w>
, <h>
: The size of the rectangle in the defined coordinate system.
[linewidth]
: The rectangles line width.
[dash]
: The dash pattern for the rectangle (0-15).
[c] [c] [c]
: The color of the rectangle. Dependent on the color mode the three values are RGB or HSB values from 0.0 to 1.0. The color mode can be set with the command colormode
(0=RGB, 1=HSB). Alternative you can specify the color as hexadecimal string.
[cf] [cf] [cf]
: The fill color of the rectangle. Dependent on the color mode the three values are RGB or HSB values from 0.0 to 1.0. The color mode can be set with the command colormode
(0=RGB, 1=HSB). Alternative you can specify the color as hexadecimal string.
circle <tag> <COOR> <x> <y> <w> <h> [linewidth] [dash] [c] [c] [c]
circle <tag> <COOR> <x> <y> <w> <h> [linewidth] [dash] [COLOR]
<tag>
: The tag
argument should be an integer value which can be used later to address a graphic or text object. Interactively created text or graphic objects always have the tag 0.
<COOR>
: The coordinate system to which the circle belongs.
<x>
, <y>
: The position of the circle in the defined coordinate system.
<w>
, <h>
: The size of the circle of the defined coordinate system.
[linewidth]
: The circles line width.
[dash]
: The dash pattern for the circle (0-15).
[c] [c] [c]
: The color of the circle. Dependent on the color mode the three values are RGB or HSB values from 0.0 to 1.0. The color mode can be set with the command colormode
(0=RGB, 1=HSB). Alternative you can specify the color as hexadecimal string.
fcircle <tag> <COOR> <x> <y> <w> <h> [linewidth] [dash] [c] [c] [c] [cf] [cf] [cf]
fcircle <tag> <COOR> <x> <y> <w> <h> [linewidth] [dash] [COLOR] [COLOR]
<tag>
: The tag
argument should be an integer value which can be used later to address a graphic or text object. Interactively created text or graphic objects always have the tag 0.
<COOR>
: The coordinate system to which the circle belongs.
<x>
, <y>
: The position of the circle in the defined coordinate system.
<w>
, <h>
: The size of the circle of the defined coordinate system.
[linewidth]
: The circles line width.
[dash]
: The dash pattern for the circle (0-15).
[c] [c] [c]
: The color of the circle. Dependent on the color mode the three values are RGB or HSB values from 0.0 to 1.0. The color mode can be set with the command colormode
(0=RGB, 1=HSB). Alternative you can specify the color as hexadecimal string.
[cf] [cf] [cf]
: The fill color of the circle. Dependent on the color mode the three values are RGB or HSB values from 0.0 to 1.0. The color mode can be set with the command colormode
(0=RGB, 1=HSB). Alternative you can specify the color as hexadecimal string.
arrow <tag> <COOR> <x1> <y1> <x2> <y2> <a1> <a2> <at> <as> [linewidth] [dash] [c] [c] [c]
arrow <tag> <COOR> <x1> <y1> <x2> <y2> <a1> <a2> <at> <as> [linewidth] [dash] [COLOR]
<tag>
: The tag
argument should be an integer value which can be used later to address a graphic or text object. Interactively created text or graphic objects always have the tag 0.
<COOR>
: The coordinate system to which the arrow belongs.
<x1>
, <y1>
, <x2>
, <y2>
: The start and end position of the arrow in the defined coordinate system.
<a1>
, <a2>
: Draw arrow at line start and/or end (possible values: yes/no)
<at>
: The arrow type (0=open, 1=closed, 2=triangle, 3=double).
<as>
: The arrow size.
[linewidth]
: The arrow line width.
[dash]
: The dash pattern for the arrow (0-15).
[c] [c] [c]
: The color of the arrow. Dependent on the color mode the three values are RGB or HSB values from 0.0 to 1.0. The color mode can be set with the command colormode
(0=RGB, 1=HSB). Alternative you can specify the color as hexadecimal string.
line <tag> <COOR> <x1> <y1> <x2> <y2> [linewidth] [dash] [c] [c] [c]
line <tag> <COOR> <x1> <y1> <x2> <y2> [linewidth] [dash] [COLOR]
<tag>
: The tag
argument should be an integer value which can be used later to address a graphic or text object. Interactively created text or graphic objects always have the tag 0.
<COOR>
: The coordinate system to which the line belongs.
<x1>
, <y1>
, <x2>
, <y2>
: The start and end position of the line in the defined coordinate system.
[linewidth]
: The line width.
[dash]
: The dash pattern for the line (0-15).
[c] [c] [c]
: The color of the line. Dependent on the color mode the three values are RGB or HSB values from 0.0 to 1.0. The color mode can be set with the command colormode
(0=RGB, 1=HSB). Alternative you can specify the color as hexadecimal string.
bgraphic [tag]
rmtext [tag]
rmgraphic [tag]
defaultfont <font> <font size>
defaultcolor <c> <c> <c>
defaultcolor <COLOR>
<c> <c> <c>
: The color of the circle. Dependent on the color mode the three values are RGB or HSB values from 0.0 to 1.0. The color mode can be set with the command colormode
(0=RGB, 1=HSB). Alternative you can specify the color as hexadecimal string.
Macro Language: Document Commands
new
close
open <filename>
save
saveas <filename>
savepng <filename> [resolution]
savejpg <filename> [resolution]
savepdf <filename>
saveeps <filename>
printdoc
export <filename> <mode> <BUFFER>
<filename>
: Export data to this file.
<mode>
: Export mode (0=all columns, 1=X,Y,ErrorY, 2=X,Y,ErrorX, 3=X, 4=Y).
<BUFFER>
: Exported data buffer (Only one data buffer can be exported).
import <filename> <mode> [separator] [xcol] [noxcol] [comment] [ignore] [comment sequence] [only number lines] [time format] [comma separator] [period separator] [timezone] [white spaces]
<mode>
: Import mode (0=multicolumn, 1=error values).
[separator]
: Defines the field separator for ASCII import.
[xcol]
: Defines the X column starting with 1 as the first column.
[noxcol]
: If true all columns will be interpreted as Y values and the X values will be generated as sequence number.
[comment]
: Overwrites the default comment for the imported buffers.
[ignore]
: Lines containing this string will be ignored.
[comment sequence]
: Anything in a line behind this sequence will be ignored for import.
[only number lines]
: If true import ignores all lines which not begin with a number.
[no time]
: If true don't try to import time values
[time format]
: custom time format for x column import.
[comma separator]
: If true treat comma as field separator
[period separator]
: If true treat period as field separator.
[timezone]
: set the timezone for time values.
[white spaces]
: If true import ignores leading white spaces in lines.
Example:
import $file \ # filename 0 \ # mode '' \ # separator 1 \ # x col NO \ # no x col 'comment' \ # comment '' \ # ignore '' \ # comment sequence YES \ # only num lines NO \ # notime 'yyyy-MM-dd' \ # time format NO \ # comma separator NO \ # period separator '' \ # time zone NO # whitespace
binaryimport <filename> <type> <mode> <swap> <columns> [comment]
<type>
: Defines the data type (0=double (64bit), 1=float (32bit), 2=integer (32 bit), 3=integer (16 bit)).
<mode>
: Defines the import mode (0=column mode, 1=block mode).
<swap>
: Enables or disables byte order swapping.
<columns>
: The number of columns to import.
mysqlimport <host> <db> <user> <password> <port> <sql>
perlimport <filename> [name]
name
is given the inline Perl block will be used. This is a block in your macro starting with a line containing PERL
and ending with a line containing PERL
. The default timeout for Perl scripts is 10 seconds. After this time the Perl job will be killed to prevent never come back jobs. You can set the timeout individual with the perltimout <sec>
macro command.
perlfilter <BUFFER> [name]
name
is given the inline Perl block will be used. This is a block in your macro starting with a line containing PERL
and ending with a line containing PERL
. The default timeout for Perl scripts is 10 seconds. After this time the Perl job will be killed to prevent never come back jobs. You can set the timeout individual with the perltimout <sec>
macro command
subview <width> <height> <x> <y>
sizeview <width> <height> <x> <y>
changeview <subview number>
deleteview <subview number | all>
Macro Language: Miscellaneous Commands
colormode <mode>
list
exit
clr
setvar <var> <expr>
<var>=<expr>
setstring <var> <value>
$<var>=<expr>
eval <name> <expr>
format <name> <format> <expr> ... <expr>
printf
notation.
forecast <lon> <lat> [field]
0 | temperature (°C) | 6 | cloud cover |
1 | surface temperature (°C) | 7 | wind direction |
2 | dew point (°C) | 8 | wind speed |
3 | humidity (%) | 9 | wind gusts (m/s) |
4 | pressure (hPa) | 10 | CAPE (J/Kg) |
5 | rain (mm) | 11 | KP index |