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 ti
significa title
, ls
para line style
y lw
para line width
, pero ¿qué pasa con lt
y noti
? (¿Dónde puedo buscar esto?)
Con esto, ¿qué hacen estas dos últimas líneas?
Respuestas:
Gnuplot 5.0.3
Lista extraída automáticamente de las abreviaturas con una variante del código publicado en la otra respuesta .
fuente
ti
puede ser válido comotitle
después de unaplot
declaración o comotics
después del comandoset
...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,
p
para el comando de trazado,sp
para elsplot
comando,t
para latitle
opciónplot
. Tenga en cuenta que no se puede, por ejemplo, utilizars
parasplot
porque entra en conflicto conset
.Las abreviaturas de dos letras en gnuplot que comienzan
l
son generalmente para una línea característica, comolt
forlinetype
,lw
forlinewidth
. Estas son las únicas banderas de hecho que pueden ser utilizados de manera intercambiable con la forma larga:lw
,linew
ylinewidth
especificar la misma opción. Puede ver esto en la documentación de la línea deset style line
comandos para el comando:Esto da
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)
lt
significalinetype
. Puede ver cuáles son los tipos de línea para el terminal actual con eltest
comando.2)
noti
significanotitle
, 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.
fuente
aquí
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
gnuplot
acepta 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,
p
se usa para,plot
pero es ambiguoprint
. ¿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í.
"Si quieres hacer algo, ¡hazlo tú mismo!"
Descargue del sitio gnuplot el código fuente de su versión.
Extraer el archivo. Ingrese en el
src
directorio y busque eltables.c
archivo.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:
De lo anterior, puede comprender que cuando use
e
la CLI lo entenderáerrorbars
, enerrorl
cambioerrorlines
(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 para
e
pero no hay ambigüedad porque se analizará no como un comando sino como una opción de un comando.
Pide
bash
a alguien que trabaje para ti ...Si está bajo Linux o un
bash
shell, puede pedirle a su shell que trabaje para usted:que puedes limpiar aún más
eso da esas y otras 345 líneas ...
Todavía no es perfecto pero, en mi humilde opinión, aceptable.
fuente