<分区>
我需要一些关于使用 gnuplot 从 c 绘图的帮助:
我的 c 源代码计算一些点并将它们的 x/y 值存储在数组中。它还通过最小二乘法为这些点计算多项式拟合。现在我需要在 c 源代码的运行期间将这些点以及拟合函数绘制成图形。我对 gnuplot 没有任何经验,而且 gnuplot 的在线资源真的很难理解。
- 主要想法是包含一个具有 gnuplot 命令的库,并将我的数组提供给这些函数吗?
- 谁能给我一个实现这一点的例子?
如果有人能帮我解决这个非常基本的问题,我将不胜感激。
<分区>
我需要一些关于使用 gnuplot 从 c 绘图的帮助:
我的 c 源代码计算一些点并将它们的 x/y 值存储在数组中。它还通过最小二乘法为这些点计算多项式拟合。现在我需要在 c 源代码的运行期间将这些点以及拟合函数绘制成图形。我对 gnuplot 没有任何经验,而且 gnuplot 的在线资源真的很难理解。
如果有人能帮我解决这个非常基本的问题,我将不胜感激。
最佳答案
如果你确实需要在 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基本上可以为您完成上述工作。
关于c - 在运行时使用 gnuplot 从 c 绘图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41076759/