Je suis nouveau chez gnuplot. Je lis le manuel mais j'ai du mal à trouver des explications pour certaines des abréviations utilisées par les utilisateurs dans leurs scripts. Par exemple, je travaille avec un script qui dit:
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
Je pense que je comprends que ti
représente le title
, ls
pour le line style
, et lw
pour la line width
, mais qu'en est-il de lt
et noti
? (Où puis-je regarder cela)?
Avec cela, que font ces deux dernières lignes?
Liste extraite automatiquement des abréviations avec une variante du code affiché dans l' autre réponse .
Ra - raise Bas - inférieur Bi-bind Ca - appel Cl - clair Eval - évaluer Ex - sortie F - fit H - aide Salut - histoire L - charge Pa - pause P - parcelle Pr-print Printerr - printerror Q - quitter Ref - actualiser Rep - replot Re-relire Res - reset Sa - sauvegarder Scr - screendump Ensemble Elle - coquille Sh - show Sp - splot Stats Sy - système Und-undefine Non désactivé Mise à jour A - acsplines B - bezier C - csplines S - sbezier U - unique F - fréquence Cum cumulatif K - kensibilité Cn - anormal Mcs - mcsplines Spline - splines F - fonctions S - set T - terminal V - variables A - tous Ac - action_table An - angles Ar - flèche Au - autoscale B - barres Bor - border Boîte - largeur de boîte Cl - clabel C - clip Cntrp - cntrparam Cntrl - cntrlabel Contours contours Dasht - dashtype Da - données Données - fichier de données Dg - dgrid3d Du dummy Encodage Dec - decimalsign Police - police Fo - format Fu - fonction Fu - fonctions G - grille Caché - hidden3d Son histoire Is - isosamples K - clé Keyt - keytitle La - étiquette Lignes - linestyle Type de ligne - linéypes Loa - loadpath Loc - locale Log - logscale Mac - macros Carte - cartographie Map - mapping3d Marges - marges Lmar-lmargin Rmarrrargin Tmar - tmargin Bmar-bmargin Mo - souris Mono monochrome Multi-multiplicateur Mxt - mxtiques Nomxt - nomxtiques Mx2t - mx2tics Nomx2t - nomx2tics Myt - mytics Nomyt - nomytics My2t - my2tics Nomy2t - nomy2tics Mzt - mztics Nomzt - nomztics Mrt - mrtics Nomrt - nomrtics Mcbt - mcbtics Nomcbt - nomctics Of - offsets Ou - origine O - sortie Pa - paramétrique Pm - pm3d Palette pal Colorb - colorbox Colour - colornames Couleurs - colorsequence P - parcelle Pointint - pointintervalbox Poi - pointize Pol - polaire Pr-print Obj - objet Sa - samples Si - taille Style st Su - surface T - terminal Termopt - termoptions Théories Ticsc - ticscale Ticsl - ticslevel Timef - timefmt Tim - timestamp Titre V - variables Version ve Vi - vue 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 - noxtiques X2ti - x2tics Nox2ti - nox2tics Ytities Noyti - noytics Y2ti - y2tics Noy2ti - noy2tics Zti - ztics Nozti - noztics Rti - tiques Norti - nortiques Cbti - cbtics Nocbti - noctic Xdti - xdtics Noxdti - noxdtics X2dti - x2dtics Nox2dti - nox2dtics De navigation Noydti - noydtics Y2dti - y2dtics Noy2dti - noy2dtics Zdti - zdtics Nozdti - nozdtics Cbdti - cbdtics Nocbdti - nocbdtics Xmti - xmtics Noxmti - noxmtiques X2mti - x2mtics Nox2mti - nox2mtics Ymtiques Noymti - noymtics Y2mti - y2mtics Noy2mti - noy2mtics Zmti - zmtics Nozmti - nozmtics Cbmti - cbmtics Nocbmti - noctames Xr - xrange X2r - x2range Année - année 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 - zéro Def - valeurs par défaut Décalage Nooff - nooffset Tri triangulaire Undef - indéfini Nound - noundefined Alt - altdiagonal Noalt - noaltdiagonal Bent - bentover Nobent - nobentover Def - par défaut T - top B - en bas L - gauche R - droit C - centre Vertical Hor - horizontal Ov - over Ab - ci-dessus U - under Être - ci-dessous Ins - inside O - à l'extérieur Tm - tmargin Bm - bmargin Lm - lmargin Rm-rmargin L - Gauche R - Droite Rev - reverse Norev - noreverse Inverser Noinv - noinvert Amélioré - amélioré Noenh - non-amélioré B-box Nob - nobox Sa - samplen Espacement W - largeur H - hauteur A - autodromes Noa - noautotitles Ti - titre Noti - notitle Texte - textcolor Maxcol - maxcols Maxcolu - maxcolumns Maxwing - maxrows Term - terminal Palette pal V - vertical H - horizontal Def - par défaut U - utilisateur Bo - border Bd - bdefault Nobo - noborder O - origine Taille s Fr - front Retour Positif Négatif - négatif Gris - échelle de gris Gris - échelle de gris Col - couleur Rgb - rgbformulae Def - défini Func - fonctions Mo - modèle Maxc - maxcolors Gam - gamma Interp - interpoler Scansfor - scansforward Scansback - scansbackward Scansauto - scansautomatic Dep - depthorder Flush Ftr - ftriangles Noftr - noftriangles Clip1 - clip1in Clip4 - clip4in Bo - border Nobo - noborder Salut - caché3d Nohi - nohidden3d Si solide Notr - notransparent Noso - nosolid Tr - transparent I - implicite Noe - non explicite Noi - noimplicit E-explicit Corners2c - corners2color D - données F - fonction L - lignes Ar - flèche Incrément Hist - histogramme Cercle circulaire Ell - ellipse Rect rectangle Parallel - parallelaxis L - lignes I - impulsions Points p Lignesp - points de ligne D - points Yerrorl - yerrorlines Errorl - erreurs Xerrorl - xerrorlines Xyerrorl - xyerrorlines Ye - yerrorbars E - barres d'erreur Xe - xerrorbars Xye - xyerrorbars Hist - histogrammes Plomb complet Boxer - boxerrorbars Boxx - boxxyerrorbars St - steps Remplissage Fs - fsteps Ses histoires Vecteurs Fin - financebars Can - candlesticks Pm - pm3d Ima - image Rgbima - rgbimage Rgba - rgbalpha Circles Ell - ellipses Surface Parallèle - parallèles C - fermé X - x1
Gnuplot dispose d'un ensemble de commandes et d'un ensemble d'options pour chaque commande. Le nom de chaque commande et option peut être abrégé sur la chaîne unique la plus courte qui la décrit, p
. Ex. p
pour la commande de tracé, sp
pour la commande splot
, t
pour l'option de title
à plot
. Notez que vous ne pouvez, par exemple, utiliser s
pour splot
car il est en conflit avec le set
.
Les abréviations en deux lettres dans gnuplot commençant par l
sont généralement pour une caractéristique de ligne, comme lt
pour linetype
de linetype
, lw
pour linewidth
. Ce sont en fait des drapeaux uniques qui peuvent être utilisés de façon interchangeable avec la forme longue: linew
, linew
et linew
spécifient la même option. Vous pouvez le voir dans la documentation de ligne de commande pour la commande de ligne set style line
:
help set style line
Cela donne
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
Et vous pouvez voir que les options séparées par un tuyau ('|') sont équivalentes.
Pour être sûr en commençant par gnuplot, je recommande de taper les commandes complètes, et lorsque vous obtenez plus d'expérience / paresseux, vous pouvez commencer à abréger davantage.
[EDIT] pour finir de répondre à vos questions:
1) lt
représente le linetype
de linetype
. Vous pouvez voir quels sont les types de ligne pour le terminal actuel avec la commande de test
.
2) noti
signifie notitle
, ce qui fait ce que vous pensez.
3) Les deux dernières lignes dessinent f (1-g (x)) sans titre et une ligne rouge large de 0.75pt; Et f (12,5 * g (x)) sans titre et une ligne grise 0.75pt.
La liste ci-dessus est la liste alphabétique des abréviations pour gnuplot 5.0.3.
Je pense que c'est une ressource utile et je l'ai mis après avoir décidé de suivre ma propre suggestion (voir ci-dessous) :-)
.
Parfois, j'ai trouvé plus utile la version non triée où l'abréviation est groupée dans les commandes, puis dans les options relatives aux commandes.
Pour autant que je sache, il n'y a pas de liste complète d'abréviations, du moins il n'est pas si simple de le trouver. En outre, il sera mis à jour à chaque nouvelle version.
L'affirmation selon laquelle gnuplot
accepte de raccourcir la chaîne sans ambiguïté pour de bonnes n'est pas TRUE .
Je dois admettre que c'est une bonne règle empirique à deviner, mais sur laquelle vous ne pouvez pas compter aveuglément: par exemple, p
est utilisé pour l' plot
mais il est ambigu avec l' print
. Alors que faire?
Demandez de l'aide à gnuplot lui-même
En cas d'ambiguïté, vous pouvez demander de l'aide à la CLI (interface de ligne de commande) de gnuplot lui-même.
gnuplot> help ti Ambiguous request 'ti'; possible matches: tics tikz time tips title
"Si vous voulez quelque chose, faites-le vous-même!"
Téléchargez à partir du site gnuplot le code source de votre version.
Extrayez l'archive. Entrez dans le répertoire src
et recherchez le fichier tables.c
.
Maintenant, votre fortune dépend des outils que vous avez sur votre système.
Il s'agit d'un fichier texte afin que vous puissiez le lire avec chaque processeur de texte (mais même un bloc-notes).
La lecture à l'intérieur vous trouverez beaucoup (p. Ex. 349 pour la version 5.0.3) des lignes comme suit:
{ "e$rrorbars", YERRORBARS } { "errorl$ines", YERRORLINES }, { "eval$uate", eval_command },
À partir de ce qui précède, vous pouvez comprendre que lorsque vous utilisez e
la CLI comprendra les errorbars
, avec errorl
place des errorlines
(voici la première correspondance sans ambiguïté différente de l'autre simplement choisie) et ainsi de suite …
Plus bas dans le fichier, vous retrouverez une abréviation pour e
{ "e$rrorbars", YERRORBARS },
Mais il n'y a pas d'ambiguïté car il sera analysé non pas comme commande mais comme option d'une commande.
Demandez à bash
de travailler pour vous …
Si vous êtes sous Linux ou un shell bash
, vous pouvez demander à votre shell de fonctionner pour vous:
grep '\$' tables.c | sed 's/{//g ; s/}//g ; s/,//g ; s/"//g'
Que vous pouvez nettoyer encore plus
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] ) }'
Qui donne ceux et d'autres 345 lignes …
p - plot rep - replot sp - splot multi - multiplot
Toujours pas parfait mais, IMHO, acceptable.