Looking up gnuplot abbreviations
I'm new to gnuplot. I am reading the manual but am having a hard time finding explanations for some of the abbreviations people use in their scripts. For example, I am working with an script that says:
f(x)=invnorm(x)
g(x)=norm(x)
plot \
"file.curve" u (f($3)):(f($2)) ti "Curve 1" ls 1 lw 3, \
"file.curve" u (f($3)):(f($2)) ti "Curve 2" ls 2 lw 3, \
"file.curve" u (f($3)):(f($2)) ti "Curve 3" ls 3 lw 3, \
f(1-g(x)) noti lt rgb "#FF0000" lw 0.75, \
f(12.5*g(x)) noti lt rgb "#808080" lw 0.75
I think I understand that ti
stands for title
, ls
for line style
, and lw
for line width
, but what about lt
and noti
? (where can I look this up)?
With this, what do these last two lines do?
Solution 1:
Gnuplot 5.0.3
Auto extracted list of the abbreviations with a variant of the code posted in the other answer.
ra - raise low - lower bi - bind ca - call cl - clear eval - evaluate ex - exit f - fit h - help hi - history l - load pa - pause p - plot pr - print printerr - printerror q - quit ref - refresh rep - replot re - reread res - reset sa - save scr - screendump se - set she - shell sh - show sp - splot st - stats sy - system und - undefine uns - unset up - update a - acsplines b - bezier c - csplines s - sbezier u - unique f - frequency cum - cumulative k - kdensity cn - cnormal mcs - mcsplines spline - splines f - functions s - set t - terminal v - variables a - all ac - action_table an - angles ar - arrow au - autoscale b - bars bor - border box - boxwidth cl - clabel c - clip cntrp - cntrparam cntrl - cntrlabel cont - contours dasht - dashtype da - data data - datafile dg - dgrid3d du - dummy enc - encoding dec - decimalsign font - fontpath fo - format fu - function fu - functions g - grid hid - hidden3d his - history is - isosamples k - key keyt - keytitle la - label lines - linestyle linetype - linetypes loa - loadpath loc - locale log - logscale mac - macros map - mapping map - mapping3d mar - margins lmar - lmargin rmar - rmargin tmar - tmargin bmar - bmargin mo - mouse mono - monochrome multi - multiplot mxt - mxtics nomxt - nomxtics mx2t - mx2tics nomx2t - nomx2tics myt - mytics nomyt - nomytics my2t - my2tics nomy2t - nomy2tics mzt - mztics nomzt - nomztics mrt - mrtics nomrt - nomrtics mcbt - mcbtics nomcbt - nomcbtics of - offsets or - origin o - output pa - parametric pm - pm3d pal - palette colorb - colorbox colorn - colornames colors - colorsequence p - plot pointint - pointintervalbox poi - pointsize pol - polar pr - print obj - object sa - samples si - size st - style su - surface t - terminal termopt - termoptions ti - tics ticsc - ticscale ticsl - ticslevel timef - timefmt tim - timestamp tit - title v - variables ve - version vi - view xyp - xyplane xda - xdata x2da - x2data yda - ydata y2da - y2data zda - zdata cbda - cbdata xl - xlabel x2l - x2label yl - ylabel y2l - y2label zl - zlabel cbl - cblabel xti - xtics noxti - noxtics x2ti - x2tics nox2ti - nox2tics yti - ytics noyti - noytics y2ti - y2tics noy2ti - noy2tics zti - ztics nozti - noztics rti - rtics norti - nortics cbti - cbtics nocbti - nocbtics xdti - xdtics noxdti - noxdtics x2dti - x2dtics nox2dti - nox2dtics ydti - ydtics noydti - noydtics y2dti - y2dtics noy2dti - noy2dtics zdti - zdtics nozdti - nozdtics cbdti - cbdtics nocbdti - nocbdtics xmti - xmtics noxmti - noxmtics x2mti - x2mtics nox2mti - nox2mtics ymti - ymtics noymti - noymtics y2mti - y2mtics noy2mti - noy2mtics zmti - zmtics nozmti - nozmtics cbmti - cbmtics nocbmti - nocbmtics xr - xrange x2r - x2range yr - yrange y2r - y2range zr - zrange cbr - cbrange rr - rrange tr - trange ur - urange vr - vrange xzeroa - xzeroaxis x2zeroa - x2zeroaxis yzeroa - yzeroaxis y2zeroa - y2zeroaxis zzeroa - zzeroaxis zeroa - zeroaxis rax - raxis z - zero def - defaults off - offset nooff - nooffset tri - trianglepattern undef - undefined nound - noundefined alt - altdiagonal noalt - noaltdiagonal bent - bentover nobent - nobentover def - default t - top b - bottom l - left r - right c - center ver - vertical hor - horizontal ov - over ab - above u - under be - below ins - inside o - outside tm - tmargin bm - bmargin lm - lmargin rm - rmargin L - Left R - Right rev - reverse norev - noreverse inv - invert noinv - noinvert enh - enhanced noenh - noenhanced b - box nob - nobox sa - samplen sp - spacing w - width h - height a - autotitles noa - noautotitles ti - title noti - notitle text - textcolor maxcol - maxcols maxcolu - maxcolumns maxrow - maxrows term - terminal pal - palette v - vertical h - horizontal def - default u - user bo - border bd - bdefault nobo - noborder o - origin s - size fr - front ba - back pos - positive neg - negative gray - grayscale grey - greyscale col - color rgb - rgbformulae def - defined func - functions mo - model maxc - maxcolors gam - gamma interp - interpolate scansfor - scansforward scansback - scansbackward scansauto - scansautomatic dep - depthorder fl - flush ftr - ftriangles noftr - noftriangles clip1 - clip1in clip4 - clip4in bo - border nobo - noborder hi - hidden3d nohi - nohidden3d so - solid notr - notransparent noso - nosolid tr - transparent i - implicit noe - noexplicit noi - noimplicit e - explicit corners2c - corners2color d - data f - function l - lines ar - arrow incr - increment hist - histogram circ - circle ell - ellipse rect - rectangle parallel - parallelaxis l - lines i - impulses p - points linesp - linespoints d - dots yerrorl - yerrorlines errorl - errorlines xerrorl - xerrorlines xyerrorl - xyerrorlines ye - yerrorbars e - errorbars xe - xerrorbars xye - xyerrorbars hist - histograms filledc - filledcurves boxer - boxerrorbars boxx - boxxyerrorbars st - steps fillst - fillsteps fs - fsteps his - histeps vec - vectors fin - financebars can - candlesticks pm - pm3d ima - image rgbima - rgbimage rgba - rgbalpha cir - circles ell - ellipses sur - surface parallel - parallelaxes c - closed x - x1
Solution 2:
gnuplot has a set of commands and a set of options for each command. The name of each command and option can be abbreviated to the shortest unique string that describes it, e.g. p
for the plot command, sp
for the splot
command, t
for the title
option to plot
. Note that you can't, for example, use s
for splot
because it conflicts with set
.
The two-letter abbreviations in gnuplot starting with l
are usually for a line characteristic, like lt
for linetype
, lw
for linewidth
. These are actually unique flags which can be used interchangeably with the long form: lw
, linew
and linewidth
specify the same option. You can see this in the command-line documentation for the set style line
command:
help set style line
This gives
Syntax:
set style line <index> default
set style line <index> {{linetype | lt} <line_type> | <colorspec>}
{{linecolor | lc} <colorspec>}
{{linewidth | lw} <line_width>}
{{pointtype | pt} <point_type>}
{{pointsize | ps} <point_size>}
{{pointinterval | pi} <interval>}
{palette}
unset style line
show style line
and you can see that the options separated by a pipe ('|') are equivalent.
To be safe when starting with gnuplot, I recommend typing out the full commands, and when you get more experienced/lazy you can start abbreviating more.
[EDIT] to finish answering your questions:
1) lt
stands for linetype
. You can see what the line types are for the current terminal with the test
command.
2) noti
stands for notitle
, which does what you think.
3) The last two lines draw f(1-g(x)) with no title and a 0.75pt wide red line; and f(12.5*g(x)) with no title and a 0.75pt gray line.
Solution 3:
Here
The above one is the alphabetically sorted List of abbreviations for gnuplot 5.0.3.
I think it is a useful resource and I put there after I decided to follow my own suggestion (see below) :-)
.
Sometimes I found more useful the not sorted version where the abbreviation are grouped in commands, and then in options relative to the commands.
Two ways
As far as I am aware there is not a complete list of abbreviations, at least it is not so simple to find it. Moreover it will be updated at each new version.
The assertion that gnuplot
accepts the shorten unambiguous string for good is NOT TRUE.
I have to admit that it is a good rule of thumb to guess, but on which you cannot blindly rely: for example p
is used for plot
but it is ambiguous with print
. So what to do?
-
Ask help to gnuplot itself
In case of ambiguity you can ask for help to the CLI (command line interface) of gnuplot itself.gnuplot> help ti Ambiguous request 'ti'; possible matches: tics tikz time tips title
-
"If you want something doing, do it yourself!"
Download from the gnuplot site the source code of your version.
Extract the archive. Enter in thesrc
directory and search for thetables.c
file.
Now your fortune depends from the tools you have on your system.
It is a text file so you can read it with every word processor (but even notepad).
Reading inside you will find a lot (e.g. 349 for the 5.0.3 version) of lines as the following:{ "e$rrorbars", YERRORBARS } { "errorl$ines", YERRORLINES }, { "eval$uate", eval_command },
From the above you can understand that when you use
e
the CLI will understanderrorbars
, witherrorl
insteaderrorlines
(here is the first unambiguous match different from the other just chosen) and so on...More down in the file you will find again an abbreviation for
e
{ "e$rrorbars", YERRORBARS },
but there is no ambiguity because it will be parsed not as command but as option of a command.
-
Ask a
bash
to work for you...If you are under Linux or a
bash
shell you can ask to your shell to work for you:grep '\$' tables.c | sed 's/{//g ; s/}//g ; s/,//g ; s/"//g'
that you can clean even more
grep '\$' tables.c | sed 's/{//g ; s/}//g ; s/,//g ; s/"//g' \ | awk '{split ($1,a, "$"); printf ("%10s - %s \n", a[1],a[1]a[2] ) }'
that gives those and other 345 lines...
p - plot rep - replot sp - splot multi - multiplot
still not perfect but, IMHO, acceptable.