【发布时间】:2021-09-28 18:38:24
【问题描述】:
我正在使用“fit”拟合一些数据,得到 f(x) 并绘制它就好了。但是,除了数据点和拟合曲线之外,我还想在图中添加一个置信区间,所以我需要在 f(x)-stddev_y 和 f(x)+stddev_y 之间添加一个“条纹”。
我可以将边框 f(x)-stddev_y 和 f(x)+stddev_y 写入表中,像这样
set datafile separator ';'
f(x) = a*x + b
fit f(x) '0706-2007.csv' using 7:8 via a,b
stddev_y = sqrt(FIT_WSSR / (FIT_NDF + 1 ))
set table "1.dat"
plot [10:80] f(x)-sqrt(FIT_WSSR / (FIT_NDF + 1 ))
set table "2.dat"
plot [10:80] f(x)+sqrt(FIT_WSSR / (FIT_NDF + 1 ))
unset table
plot [10:80] '0706-2007.csv' using 7:8 not with points pt 7 ps 1,f(x) not with lines,\
"< paste 1.dat 2.dat | awk '{print $1\";\"$2\";\"$5;}' " using 1:2:3 with filledcurves title sprintf("σ = %.1f",sqrt(FIT_WSSR/(FIT_NDF+1)))
但它看起来有些复杂。有没有更直接的方法?
【问题讨论】:
标签: gnuplot