2016-01-28 5 views
2

Я искателем много подобных вопросов, не находя правильные проблемы/вопрос/ответ ...Gnuplot гистограмма с коробками (гладкая частотой)

Я хочу использовать GNUPLOT сделать гистограммы из распределенного файла данных с бары/коробки равной ширины и интервалов. Поэтому мне нужно подсчитать/интегрировать по ширине (= 1) моих баров. Вот почему я хотел бы использовать команду «гладкой частоты»:

#gnuplot 
bin(x)=floor(x+0.5) 
set boxwidth 0.8 relative 
set style fill pattern 

set grid 
set xrange [0:11] 
set yrange [0:3] 
set xtics in 0,2,10 
set mxtics 2 
set ytics 0,1,3 
set mytics 1 

p 'data.dat' u (bin($1)):(1) smooth freq w boxes 

#data.dat 
2.489 
7.5 
9.128 
9.567 

Я попробовал это, и результат был таким же, как и с моим ручным файлом нанесен с коробками:

#gnuplot2 
[...] 
p 'data2.dat' w boxes 

#data2.dat 
2 1 
8 1 
9 1 
10 1 

Smooth частота кажется, выполняйте свою работу должным образом, но результат не тот, что я намеревался сделать ...: Image

Тогда я понял, в чем проблема. Она решается с помощью моей ручной работы data3.dat:

#gnuplot 
p 'data3.dat' w boxes 

#data3.dat 
1 0 
2 1 
3 0 
4 0 
5 0 
6 0 
7 0 
8 1 
9 1 
10 1 

Image

Таким образом, проблемы отверстия в моем диапазоне данных, которые не учитываются как «0». С этими отверстиями gnuplot, похоже, сам настраивает ширину коробки, чтобы поместиться во все пространство слева. Как я могу помешать этому получить желаемый результат?

ответ

3

Я думаю, проблема в relative ключа. Попытка:

set boxwidth 0.8 absolute 
+0

Это работает как шарм, спасибо! – nox

Смежные вопросы