我需要一些关于使用gnuplot来绘制c的帮助:
我的c源代码计算一些点并将它们的x / y值存储在数组中。它还通过这些点的最小二乘计算多项式拟合。现在我需要在c源代码的运行时期间将这些点以及拟合函数绘制到图形中。我没有关于gnuplot的经验,gnuplot的在线资源真的很难理解。
如果有人能帮我解决这个非常基本的问题,我真的很感激。
答案 0 :(得分:1)
如果确实需要使用C中的gnuplot,那么可以使用popen()
启动gnuplot进程,并使用fprintf()
向其发送命令,如下所示:
void plot_array(float *x, float *y, int n) {
FILE *p = popen("gnuplot", "w");
fprintf(p, "plot - with lines\n");
for(int i = 0; i < n; i++)
fprintf(p, "%f %f\n", x[i], y[i]);
fprintf(p, "e\n");
...
pclose(p);
}
但是,周围有许多绘图库为您提供了一种更加惯用的方法来绘制C中的数组。如果您可以使用C ++,那么gnuplot-iostream library基本上可以为您执行上述操作。< / p>