Я новичок в gnuplot и застрял в следующей ситуации.Основываясь на this У меня есть скрипт gnuplot следующим образом:
clear
reset
set key off
set border 3
set style fill solid 1.0 noborder
bin_width = 0.01;
set boxwidth bin_width absolute
bin_number(x) = floor(x/bin_width)
rounded(x) = bin_width * ( bin_number(x) + 0.5 )
plot '1000randomValuesBetween0and1.dat' using (rounded($1)):(1) smooth frequency
Это был хороший первый шаг;но я хотел бы иметь плавную кривую через точки, которые генерируются путем подсчета частоты. с заполненными кривыми не хватало того, что я хотел, двумя способами.Во-первых, это не сглаживание (я бы предпочел что-то вроде Безье, которое нельзя использовать после с );во-вторых, наполнение сделано довольно неожиданным способом, который не соответствует моим потребностям (для меня неожиданно).См. Эту картинку .
Чтобы дать немного больше контекста: я в конечном итоге хочу использовать это для генерации сюжетов для скрипки с помощью gnuplot без необходимости предварительно создавать биннинг, поэтому я могу простодать моему сценарию файл данных из одной колонки, и я готов к работе.
РЕДАКТИРОВАТЬ: я попытался адаптировать "нормальный" график плотности из этой демонстрации как еще один первый шаг, но мне не удалось;Я прочитал в документации, что пропускная способность должна составлять 1 / # точек, поэтому в моем случае она должна составлять 0,001, то есть я пробовал это:
set border 3 front lt black linewidth 1.000 dashtype solid
set style increment default
set style data filledcurves
set xtics border in scale 0,0 nomirror norotate autojustify
set xtics norangelimit 0.00000,0.5,1.0
set title "Same data - kernel density"
set title font ",15" norotate
plot 'random01.dat' using 1:(1) smooth kdensity bandwidth 0.001 with filledcurves above y lt 9
, что приводит к следующему рисунку: ,Установка без полосы пропускания или более низкие / более высокие значения не решили проблему.График указывает , используя 1: (1) , потому что у меня просто один столбец, поэтому в соответствии с документом первое значение должно быть этим столбцом, а в качестве второго значения будет указан вес, который должен быть 1 / # баллов.в соответствии с документом.
EDIT2: установка полосы пропускания на идеальное значение или ее вообще не задание всегда дает один и тот же результат, который ничего не меняет, кроме масштаба оси y с изменением веса.
Мои данные - это 1000 значений в диапазоне от 0 до 1 (созданы случайным образом для целей тестирования).
Здесь новый график
EDIT3: уменьшение может показать другой аспект проблемы, так как график, кажется, выходит за пределы интервала заданных значений (я проверил значения, и нет примеров <0 или> 1).Вот график: