Gnuplot - Как соединить гладко упорядоченные точки?
У меня есть набор данных в трех столбцах:
1st column: order criterion between 0 and 1
2nd: x vals
3rd: y vals
В качестве примера файла данных:
0.027 -29.3 -29.6
0.071 -26.0 -31.0
0.202 -14.0 -32.8
0.304 -3.4 -29.3
0.329 -0.5 -26.0
0.409 6.7 -14.0
0.458 11.7 -3.4
0.471 12.8 -0.5
0.495 12.5 6.7
0.588 18.8 11.7
0.600 20.4 12.8
0.618 20.8 12.5
0.674 20.9 18.8
0.754 22.1 20.4
0.810 27.0 20.8
0.874 24.7 20.9
0.892 9.4 22.1
0.911 -11.5 27.0
0.943 -23.7 24.7
0.962 -29.6 9.4
0.991 -31.0 -11.5
0.999 -32.8 -23.7
Моя цель состоит в том, чтобы построить (x,y) точки и кривую тренда, проходящую через каждую точку, упорядоченную в порядке возрастания со значениями первого столбца. Я использую следующий скрипт:
set terminal png small size 600,450
set output "my_data_mcsplines_joined_points.png"
set table "table_interpolation.dat"
plot 'my_data.dat' using 2:3 smooth mcsplines
unset table
plot 'my_data.dat' using 2:3:(sprintf("%'.3f", $1)) with labels point pt 7 offset char 1,1 notitle ,\
"table_interpolation.dat" with lines notitle
Вот результаты mcspline в качестве примера:
mcspline соединенные точки фигура
Полученная кривая должна иметь форму веретена или петли. Какие бы гладкие варианты не использовались, Gnuplot кажется недопустимым для достижения такой цели. К сожалению, большинство гладких опций (mcspline, csplines...) монотонно упорядочивают данные.
Как я могу построить кривую тренда, проходящую через каждую точку, упорядоченную в порядке возрастания, со значениями первого столбца?
Благодарю.