GNU plots_Planejando histogramas de um determinado conjunto de valores em relação ao número de suas ocorrências

2

Como podemos traçar um histograma de um arquivo csv contendo todos os dados em uma única coluna. Eu preciso traçar esses valores em relação ao número de vezes que eles se repetem.

    
por aseth 20.06.2015 / 01:08

1 resposta

1

Existe um truque muito usado para construir o histograma no gnuplot. Se seus dados estiverem no arquivo mydata.csv , você pode tentar algo como

binwidth=1                          # here you can set the bin width 
bin(x,width)=width*floor(x/width)   # here the binning function
plot "mydata.csv" using (bin($1,binwidth)):(1.0) smooth freq with boxes

Então, você está construindo seu histograma escolhendo a largura da bandeja.
De uma maneira mais refinada, você pode tentar o que está abaixo como sugerido, por exemplo, aqui

Min = 1.0  # where binning starts
Max = 12.0 # where binning ends
n = 11 # the number of bins
width = (Max-Min)/n # binwidth is evaluates to 1.0
bin(x,width) = width*(floor((x-Min)/width)+0.5) + Min
plot "mydata.csv" using (bin($1,width)):(1.0) smooth freq with boxes
    
por 23.06.2015 / 01:44

Tags