问题描述
我有一组 x 和 y 值,我使用 gsl_multifit_linear 函数将它们拟合到多项式上。我想使用 gnuplot 将最佳拟合曲线绘制到散点图上。现在,我只知道如何自己绘制点:
FILE *gnuplot = popen("gnuplot","w");
fprintf(gnuplot,"plot '-'\n");
for (int i = 0; i < num_points; i++)
fprintf(gnuplot,"%g %g\n",xvals[i],yvals[i]);
printf(gnuplot,"e\n");
fflush(gnuplot);
解决方法
先绘制函数,然后绘制数据:
fprintf(gnuplot,"plot x*x,'-'\n");
这里我假设函数只是 x*x。 或者,将点保存到一个临时文件中,然后以与数据相关的任何顺序以通常的 gnuplot 方式绘制它。