Precisava fazer um gráfico em 2D de uma série, mas queria que os pontos tivessem cores diferentes dependendo da ordem em que aparecem na série, por exemplo, os 100 primeiros em azul, os 100 seguintes em verde, etc. As versões mais recentes do gnuplot permitem isto. Resolvi fazer um backport do gnuplot 4.2.4 que está na sid, para o Lenny (que tem a 4.2.2). Já que ia fazer o backport, resolvi compilar com suporte a GNU readline, permitindo assim que o gnuplot completasse com TAB, etc. igual à linha de comando. Isto não tem no Debian/Ubuntu, por questões de licenciamento, como vocês podem imaginar. A saída, para os puristas, é usar o pacote rlwrap e rodar
rlwrap -a -c gnuplotVocê pode inclusive criar um alias para o gnuplot e toda vez que chamar o gnuplot, usar o comando acima. Para facilitar a vida dos usuários do IFUFF, eu decidi compilar o pacote com a readline. O pacote está disponível no http://apt-get.if.uff.br, com a extensão ifuff. Use por sua própria conta e risco.
Voltando ao Gnuplot, criei um arquivo teste.dat, com o conteúdo
1 1 128 2 2 128 3 3 32768 4 2 32768 5 3 8388608 6 1 8388608A terceira linha é o RGB da cor desejada. Para plotar, usei o seguinte comando no gnuplot
plot 'teste.dat' using ($1):($2):($3) with points pt 7 ps 2 lc rgb variable notitle, 'teste.dat' w lNote que chamo o arquivo
teste.dat
duas vezes: não sei o porquê, mas você não pode usar linhas e pontos com a cor variável. O resultado segue abaixo: