Buscar abreviaturas de gnuplot

11

Soy nuevo en gnuplot. Estoy leyendo el manual pero me cuesta encontrar explicaciones para algunas de las abreviaturas que las personas usan en sus scripts. Por ejemplo, estoy trabajando con un script que dice:

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

Creo que entiendo que tisignifica title, lspara line styley lwpara line width, pero ¿qué pasa con lty noti? (¿Dónde puedo buscar esto?)

Con esto, ¿qué hacen estas dos últimas líneas?

Amelio Vazquez-Reina
fuente
Agregué una versión ordenada, quizás más acogedora para usar.
Hastur

Respuestas:

9

Gnuplot 5.0.3

Lista extraída automáticamente de las abreviaturas con una variante del código publicado en la otra respuesta .

        ra - elevar  
       baja - baja  
        bi - enlace  
        ca - llamar  
        cl - claro  
      eval - evaluar  
        ex - salida  
         f - ajuste  
         h - ayuda  
        hola - historia  
         l - carga  
        pa - pausa  
         p - trama  
        pr - imprimir  
  printerr - printerror  
         q - salir  
       ref - actualizar  
       rep - replicar  
        releer  
       res - restablecer  
        sa - guardar  
       scr - screendump  
        se - set  
       ella - concha  
        sh - mostrar  
        sp - mancha  
        st - estadísticas  
        sy - system  
       und - indefinido  
       uns - unset  
        arriba - actualizar  

         a - acsplines  
         b - bezier  
         c - csplines  
         s - sbezier  
         u - único  
         f - frecuencia  
       cum - acumulativo  
         k - kdensity  
        cn - normal  
       mcs - mcsplines  
    spline - splines  
         f - funciones  
         s - conjunto  
         t - terminal  
         v - variables  
         a - todos  
        ac - tabla_acción  
        an - ángulos  
        ar - flecha  
        au - autoescala  
         b - barras  
       bor - frontera  
       box - boxwidth  
        cl - clabel  
         c - clip  
     cntrp - cntrparam  
     cntrl - cntrlabel  
      cont - contornos  
     dasht - dashtype  
        da - datos  
      datos - archivo de datos  
        dg - dgrid3d  
        du - ficticio  
       enc - codificación  
       dec - decimalsign  
      font - fontpath  
        fo - formato  
        fu - función  
        fu - funciones  
         g - cuadrícula  
       hid - hidden3d  
       su - historia  
        is - isosamples  
         k - clave  
      keyt - keytitle  
        la - etiqueta  
     líneas - linestyle  
  linetype - linetypes  
       loa - ruta de carga  
       loc - locale  
       log - escala de registro  
       mac - macros  
       mapa - mapeo  
       map - mapping3d  
       mar - márgenes  
      lmar - lmargin  
      rmar - rmargin  
      tmar - tmargin  
      bmar - bmargin  
        mo - mouse  
      mono - monocromo  
     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  
        de - compensaciones  
        o - origen  
         o - salida  
        pa - paramétrico  
        pm - pm3d  
       pal - paleta  
    colorb - caja de colores  
    colorn - nombres de colores  
    colores - secuencia de colores  
         p - trama  
  pointint - pointintervalbox  
       poi - pointize  
       pol - polar  
        pr - imprimir  
       obj - objeto  
        sa - muestras  
        si - tamaño  
        st - estilo  
        su - superficie  
         t - terminal  
   termopt - termoptions  
        tics  
     ticsc - ticscale  
     ticsl - ticslevel  
     timef - timefmt  
       tim - marca de tiempo  
       tit - título  
         v - variables  
        ve - version  
        vi - ver  
       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 - norte  
      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  
        año - naranja  
       y2r - rango y2  
        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 - cero  
       def - valores predeterminados  
       off - offset  
     nooff - nooffset  
       tri - trianglepattern  
     undef - indefinido  
     sustantivo - sustantivo definido  
       alt - altdiagonal  
     noalt - noaltdiagonal  
      doblado - bentover  
    nobent - nobentover  
       def - predeterminado  
         t - arriba  
         b - abajo  
         l - izquierda  
         r - derecha  
         c - centro  
       ver - vertical  
       hor - horizontal  
        ov - over  
        ab - arriba  
         u - bajo  
        estar abajo  
       ins - dentro  
         o - afuera  
        tm - tmargin  
        bm - bmargin  
        lm - lmargin  
        rm - rmargin  
         L - Izquierda  
         R - Derecha  
       rev - revés  
     norev - noreverse  
       inv - invertir  
     noinv - noinvert  
       enh - mejorado  
     noenh - no mejorado  
         b - caja  
       nob - nobox  
        sa - samplen  
        sp - espaciado  
         w - ancho  
         h - altura  
         a - autotitulos  
       noa - noautotitles  
        ti - título  
      noti - notitle  
      texto - textcolor  
    maxcol - maxcols  
   maxcolu - maxcolumns  
    maxrow - maxrows  
      plazo - terminal  
       pal - paleta  
         v - vertical  
         h - horizontal  
       def - predeterminado  
         u - usuario  
        bo - frontera  
        bd - bdefault  
      nobo - noborder  
         o - origen  
         s - tamaño  
        fr - frente  
        ba - atrás  
       pos - positivo  
       neg - negativo  
      gris - escala de grises  
      gris - escala de grises  
       col - color  
       rgb - rgbformulae  
       def - definido  
      func - funciones  
        mo - modelo  
      maxc - maxcolors  
       gam - gamma  
    interp - interpolar  
  scansfor - scansforward  
 scansback - scansbackward  
 scansauto - scansautomatic 
       dep - orden de profundidad  
        fl - rubor  
       ftr - ftriangles  
     noftr - noftriangles  
     clip1 - clip1in  
     clip4 - clip4in  
        bo - frontera  
      nobo - noborder  
        hola - hidden3d  
      nohi - nohidden3d  
        tan sólido  
      notr - notransparent  
      noso - nosolid  
        tr - transparente  
         i - implícito  
       noe - no explícito  
       noi - noimplicit  
         e - explícito  
 corners2c - corners2color 
         d - datos  
         f - función  
         l - líneas  
        ar - flecha  
      incr - incremento  
      hist - histograma  
      circ - circle  
       ell - elipse  
      rect - rectángulo  
  paralelo - paralelaxis  
         l - líneas  
         i - impulsos  
         p - puntos  
    linesp - puntos de línea  
         d - puntos  
   yerrorl - yerrorlines  
    errorl - líneas de error  
   xerrorl - xerrorlines  
  xyerrorl - xyerrorlines  
        ye - yerrorbars  
         e - barras de error  
        xe - xerrorbars  
       xye - xyerrorbars  
      hist - histogramas  
   filledc - curvas llenas  
     boxer - boxerrorbars  
      boxx - boxxyerrorbars  
        st - pasos  
    fillst - pasos completos  
        fs - fsteps  
       his - histeps  
       vec - vectores  
       aleta - barras de financiación  
       can - candelabros  
        pm - pm3d  
       ima - imagen  
    rgbima - rgbimage  
      rgba - rgbalpha  
       cir - círculos  
       ell - elipses  
       superficie  
  paralelas - paralelas  
         c - cerrado  
         x - x1  

Hastur
fuente
Hay duplicados en la lista. Una lista ordenada alfabéticamente sería más útil.
Joce
@ Joe Gracias por el lugar. Tómese un momento para ver la otra respuesta donde puede encontrar una página imprimible con todas las abreviaturas ordenadas (y otra no ordenada): aquí las abreviaturas no están ordenadas alfabéticamente porque provienen del código a medida que se analiza, por lo que resultan agrupadas en los comandos y luego en las opciones relativas a cada comando (sé que se pierde el comando, pero analizar todo más de un nivel estaba por encima del alcance de la respuesta). Por ejemplo, tipuede ser válido como titledespués de una plotdeclaración o como ticsdespués del comando set...
Hastur
8

gnuplot tiene un conjunto de comandos y un conjunto de opciones para cada comando. El nombre de cada comando y opción se puede abreviar a la cadena única más corta que lo describe, por ejemplo, ppara el comando de trazado, sppara el splotcomando, tpara la titleopción plot. Tenga en cuenta que no se puede, por ejemplo, utilizar spara splotporque entra en conflicto con set.

Las abreviaturas de dos letras en gnuplot que comienzan lson generalmente para una línea característica, como ltfor linetype, lwfor linewidth. Estas son las únicas banderas de hecho que pueden ser utilizados de manera intercambiable con la forma larga: lw, linewy linewidthespecificar la misma opción. Puede ver esto en la documentación de la línea de set style linecomandos para el comando:

help set style line

Esto da

 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

y puede ver que las opciones separadas por una tubería ('|') son equivalentes.

Para estar seguro al comenzar con gnuplot, recomiendo escribir los comandos completos, y cuando tenga más experiencia / pereza puede comenzar a abreviar más.

[EDITAR] para terminar de responder tus preguntas:

1) ltsignifica linetype. Puede ver cuáles son los tipos de línea para el terminal actual con el testcomando.

2) notisignifica notitle, que hace lo que piensas.

3) Las últimas dos líneas dibujan f (1-g (x)) sin título y una línea roja de 0.75pt de ancho; yf (12.5 * g (x)) sin título y una línea gris de 0.75pt.

andyras
fuente
6

aquí

gnuplot 5.0.3 Lista de abreviaturas

La anterior es la Lista de abreviaturas ordenadas alfabéticamente para gnuplot 5.0.3.
Creo que es un recurso útil y lo puse allí después de que decidí seguir mi propia sugerencia (ver más abajo) :-).
A veces encuentro más útil la versión no ordenada donde las abreviaturas se agrupan en comandos, y luego en opciones relativas a los comandos.

Dos caminos

Hasta donde sé, no hay una lista completa de abreviaturas, al menos no es tan simple encontrarla. Además, se actualizará en cada nueva versión.

La afirmación que gnuplotacepta la cadena acortada inequívoca para bien NO es VERDADERA .
Tengo que admitir que es una buena regla general para adivinar, pero en la que no se puede confiar ciegamente: por ejemplo, pse usa para, plotpero es ambiguo print. ¿Entonces lo que hay que hacer?

  • Solicite ayuda para gnuplot en sí mismo
    En caso de ambigüedad, puede pedir ayuda a la CLI (interfaz de línea de comandos) de gnuplot en sí.

    gnuplot> help ti
    Ambiguous request 'ti'; possible matches:
           tics
           tikz
           time
           tips
           title
    
  • "Si quieres hacer algo, ¡hazlo tú mismo!"
    Descargue del sitio gnuplot el código fuente de su versión.
    Extraer el archivo. Ingrese en elsrcdirectorio y busque eltables.carchivo.
    Ahora su fortuna depende de las herramientas que tenga en su sistema.
    Es un archivo de texto para que pueda leerlo con todos los procesadores de texto (pero incluso con el bloc de notas).
    Leyendo dentro encontrará muchas líneas (por ejemplo, 349 para la versión 5.0.3) de líneas como las siguientes:

    { "e$rrorbars", YERRORBARS }
    { "errorl$ines", YERRORLINES },
    { "eval$uate", eval_command },
    

    De lo anterior, puede comprender que cuando use ela CLI lo entenderá errorbars, en errorlcambio errorlines(aquí está la primera coincidencia inequívoca diferente de la otra que se acaba de elegir) y así sucesivamente ...

    Más abajo en el archivo encontrará nuevamente una abreviatura parae

    { "e$rrorbars", YERRORBARS },
    

    pero no hay ambigüedad porque se analizará no como un comando sino como una opción de un comando.

  • Pide basha alguien que trabaje para ti ...

    Si está bajo Linux o un bashshell, puede pedirle a su shell que trabaje para usted:

    grep '\$' tables.c  | sed 's/{//g ; s/}//g ; s/,//g ; s/"//g'
    

    que puedes limpiar aún más

    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] ) }'
    

    eso da esas y otras 345 líneas ...

         p - plot 
       rep - replot 
        sp - splot 
     multi - multiplot 
    

    Todavía no es perfecto pero, en mi humilde opinión, aceptable.
    ingrese la descripción de la imagen aquí

Hastur
fuente