Não existe uma maneira simples de fazer um histograma real, já que isso não é simplesmente uma tarefa de plotagem, mas requer que os dados sejam primeiro classificados e armazenados em binários. Você pode fazer isso fora do gnuplot e plotar o resultado do gnuplot simplesmente com plot 'file' with histo
.
No entanto, existem duas maneiras principais de fazer o que você deseja dentro do gnuplot.
Este primeiro é um truque antigo que força o gnuplot para o bin e classifica os dados para você usando um pouco de matemática e o estilo smooth freq
. Se o seu arquivo de dados é chamado de "dados" você pode fazer:
w = 5
bin(x,wth) = width*floor(x/wth)
plot 'data' using (bin($2,bw)):(1.0) smooth freq with boxes
Isso funciona, mas tem todas as desvantagens dos histogramas, principalmente que a aparência da sua distribuição dependerá da largura da sua bandeja escolhida, que você pode atribuir a "w" na primeira linha.
Lançamentos recentes (> = 4.4) do gnuplot podem calcular uma estimativa de densidade do kernel , que é como um histograma independente de bin: ele fornece uma distribuição contínua. Além disso, faz o binning e classificação para você! Você só precisa dizer
plot 'data' using 2:(.001) smooth kden
O .001 acima fornecerá uma distribuição normalizada se você tiver 1000 pontos de dados. Você vai querer substituir o recíproco do número de pontos de dados que você tem (ou não se incomode se você não se importa se seu resultado é normalizado).
Eu recomendo o último método se você tiver uma versão recente do gnuplot instalada. Há um pouco mais sobre isso no meu livro sobre o gnuplot , que acabou de sair.