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

gnuplot 5.0.3 List of Abbreviations

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 the src directory and search for the tables.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 understand errorbars, with errorl instead errorlines (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.
    enter image description here