问题
Does anybody know how to extract some data of smooth cspline curve for a given data?
For instance, there is a data file which has 2 columns corresponding to x and y values. I can draw the data with smooth cpline curve by the following commands
p 'data' w lp, "" smooth csplines
I want to extract the smooth cpline curve as an another data file.
回答1:
This can be done by setting a table
. Consider the following data file:
0 1
1 2
2 3
3 2
4 2
5 4
6 8
7 5
8 3
9 1
The data itself and its csplines
interpolation look like this:
To print the interpolation to a table one does the following:
set samples 100
set table "table_100"
plot "data" smooth csplines
set samples 20
set table "table_20"
plot "data" smooth csplines
unset table
set samples
determines the number of points used to construct the spline curve. And you can visualize it:
set key left
plot "data" pt 7 t "Original data", \
"table_100" w l t "Splines (100 samples)", \
"table_20" w l t "Splines (20 samples)"
回答2:
Use set table 'temp.dat'
to redirect the plotted data points to an external file
set table 'temp.dat'
plot 'myfile.dat' using 1:2 smooth cspline
unset table
To test it
plot 'myfile.dat' using 1:2 with points title 'original points',\
'temp.dat' using 1:2 with lines title 'smoothed curve'
来源:https://stackoverflow.com/questions/30474631/how-to-output-smooth-cspline-curve-as-a-data-file