Eu sou novo no gnuplot. Estou lendo o manual, mas não consigo encontrar explicações para algumas das abreviações que as pessoas usam em seus scripts. Por exemplo, estou trabalhando com um script que diz:
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
Acho que entendo que ti
significa title
, ls
para line style
e lw
para line width
, mas lt
e quanto noti
? (onde posso procurar isso)?
Com isso, o que essas duas últimas linhas fazem?
Respostas:
Gnuplot 5.0.3
Lista extraída automaticamente das abreviações com uma variante do código postada na outra resposta .
fonte
ti
pode ser válida comotitle
depois de umaplot
declaração ou comotics
depois do comandoset
...O gnuplot possui um conjunto de comandos e um conjunto de opções para cada comando. O nome de cada comando e opção pode ser abreviado para a menor string exclusiva que a descreve, por exemplo,
p
para o comando plot,sp
para osplot
comando,t
para atitle
opçãoplot
. Observe que você não pode, por exemplo, usars
parasplot
porque entra em conflito comset
.As abreviações de duas letras no gnuplot que começam com
l
são geralmente para uma característica de linha, comolt
paralinetype
,lw
paralinewidth
. Estes são bandeiras realmente únicas que podem ser usados de forma intercambiável com a forma longa:lw
,linew
elinewidth
especificar a mesma opção. Você pode ver isso na documentação da linha deset style line
comandos do comando:Isto dá
e você pode ver que as opções separadas por um canal ('|') são equivalentes.
Para estar seguro ao iniciar o gnuplot, recomendo digitar os comandos completos e, quando você ficar mais experiente / preguiçoso, poderá começar abreviando mais.
[EDIT] para terminar de responder às suas perguntas:
1)
lt
significalinetype
. Você pode ver quais são os tipos de linha para o terminal atual com otest
comando2)
noti
significanotitle
, que faz o que você pensa.3) As duas últimas linhas desenham f (1-g (x)) sem título e uma linha vermelha larga de 0,75pt; ef (12,5 * g (x)) sem título e uma linha cinza de 0,75pt.
fonte
Aqui
A acima é a lista de abreviações alfabeticamente ordenadas para o gnuplot 5.0.3.
Eu acho que é um recurso útil e coloquei lá depois que decidi seguir minha própria sugestão (veja abaixo)
:-)
.Às vezes, achei mais útil a versão não classificada, onde as abreviações estão agrupadas em comandos e depois em opções relativas aos comandos.
Dois caminhos
Tanto quanto sei, não existe uma lista completa de abreviações, pelo menos não é tão simples encontrá-la. Além disso, ele será atualizado a cada nova versão.
A asserção que
gnuplot
aceita a string curta e inequívoca para o bem NÃO é VERDADEIRA .Devo admitir que é uma boa regra geral adivinhar, mas na qual você não pode confiar cegamente: por exemplo,
p
é usado,plot
mas é ambíguoprint
. Então o que fazer?Peça ajuda para o próprio gnuplot
Em caso de ambiguidade, você pode pedir ajuda para a CLI (interface da linha de comandos) do próprio gnuplot.
"Se você quer algo fazendo, faça você mesmo!"
Baixe no site do gnuplot o código fonte da sua versão.
Extraia o arquivo morto. Digite o
src
diretório e procure otables.c
arquivo.Agora sua fortuna depende das ferramentas que você possui no seu sistema.
É um arquivo de texto para que você possa lê-lo com todos os processadores de texto (mas mesmo com o bloco de notas).
Lendo dentro, você encontrará muitas linhas (por exemplo, 349 para a versão 5.0.3) como as seguintes:
Do acima você pode entender que quando você usa
e
o CLI vai entendererrorbars
, comerrorl
em vezerrorlines
(aqui é o primeiro diferente inequívoca jogo do outro apenas escolhido) e assim por diante ...Mais abaixo no arquivo, você encontrará novamente uma abreviação de
e
mas não há ambiguidade, porque será analisado não como comando, mas como opção de um comando.
Peça um
bash
para trabalhar para você ...Se você estiver no Linux ou em um
bash
shell, poderá solicitar ao seu shell que trabalhe para você:que você pode limpar ainda mais
que dá a essas e outras 345 linhas ...
ainda não é perfeito, mas, IMHO, aceitável.
fonte