Respostas:
Gráfico de barras simples:
set boxwidth 0.5
set style fill solid
plot "data.dat" using 1:3:xtic(2) with boxes
data.dat:
0 label 100
1 label2 450
2 "bar label" 75
Se quiser estilizar suas barras de maneira diferente, você pode fazer algo como:
set style line 1 lc rgb "red"
set style line 2 lc rgb "blue"
set style fill solid
set boxwidth 0.5
plot "data.dat" every ::0::0 using 1:3:xtic(2) with boxes ls 1, \
"data.dat" every ::1::2 using 1:3:xtic(2) with boxes ls 2
Se você quiser fazer várias barras para cada entrada:
data.dat:
0 5
0.5 6
1.5 3
2 7
3 8
3.5 1
gnuplot:
set xtics ("label" 0.25, "label2" 1.75, "bar label" 3.25,)
set boxwidth 0.5
set style fill solid
plot 'data.dat' every 2 using 1:2 with boxes ls 1,\
'data.dat' every 2::1 using 1:2 with boxes ls 2
Se você quiser ser complicado e usar alguns truques legais do gnuplot:
Gnuplot possui colunas psuedo que podem ser usadas como o índice para colorir:
plot 'data.dat' using 1:2:0 with boxes lc variable
Além disso, você pode usar uma função para escolher as cores que deseja:
mycolor(x) = ((x*11244898) + 2851770)
plot 'data.dat' using 1:2:(mycolor($0)) with boxes lc rgb variable
Nota: você terá que adicionar alguns outros comandos básicos para obter o mesmo efeito que as imagens de amostra.
lc rgb variable
você não pode haver entradas de chave diferentes.
Gostaria apenas de expandir a resposta principal, que usa o GNUPlot para criar um gráfico de barras, para iniciantes porque li a resposta e ainda estava confuso com o dilúvio de sintaxe.
Começamos escrevendo um arquivo de texto de comandos GNUplot. Vamos chamá-lo de command.txt:
set term png
set output "graph.png"
set boxwidth 0.5
set style fill solid
plot "data.dat" using 1:3:xtic(2) with boxes
set term png
configurará o GNUplot para gerar um arquivo .png e set output "graph.png"
é o nome do arquivo para o qual ele será gerado.
As próximas duas linhas são bastante autoexplicativas. A quinta linha contém muita sintaxe.
plot "data.dat" using 1:3:xtic(2) with boxes
"data.dat"
é o arquivo de dados em que estamos operando. 1:3
indica que usaremos a coluna 1 de data.dat para as coordenadas xe coluna 3 de data.dat para as coordenadas y. xtic()
é uma função responsável por numerar / rotular o eixo x. xtic(2)
, portanto, indica que usaremos a coluna 2 de data.dat para rótulos.
"data.dat" tem esta aparência:
0 label 100
1 label2 450
2 "bar label" 75
Para traçar o gráfico, entre gnuplot commands.txt
no terminal.
Eu recomendo o script Perl do gerador de gráfico de barras de Derek Bruening. Disponível em http://www.burningcutlery.com/derek/bargraph/
Você pode usar diretamente os histogramas de estilo fornecidos pelo gnuplot. Este é um exemplo se você tiver dois arquivos na saída:
set style data histograms
set style fill solid
set boxwidth 0.5
plot "file1.dat" using 5 title "Total1" lt rgb "#406090",\
"file2.dat" using 5 title "Total2" lt rgb "#40FF00"
histogram
estilo de plotagem, especialmente para agrupar e empilhar valores.