如何用c程序绘制数据?

Cra*_*rse 21 c simulation plot graph gnuplot

我是一名机械工程师,对C编程知之甚少.我写了一些代码来进行模拟,我想要模拟仿真结果.目前我Dev-C用来编写我的代码.使用fopenfprintf命令我生成一个.dat包含结果的文件.然后我打开GNUPLOT程序并导入我的.dat文件以绘制结果.这需要时间,我必须等到模拟结束.有没有一种简单的方法可以连接我的绘图仪Dev-C,所以我的绘图仪在模拟过程中开始绘制数据?任何图书馆等?

Edg*_*net 13

既然你已经知道了gnuplot,最简单的方法就是从程序中调用gnuplot并将数据传递给它:

FILE *gnuplot = popen("gnuplot", "w");
fprintf(gnuplot, "plot '-'\n");
for (i = 0; i < count; i++)
    fprintf(gnuplot, "%g %g\n", x[i], y[i]);
fprintf(gnuplot, "e\n");
fflush(gnuplot);
Run Code Online (Sandbox Code Playgroud)


kal*_*kak 5

我一直在使用PLPlot从 C 语言进行绘图,发现它既有效又简单。它是跨平台、开源的,并支持丰富的绘图功能。我建议您先看看示例。


Jam*_*ack 4

好的,一种解决方案是,当您写入文件时,只需system()在写入文件时进行调用,然后调用 gnuplot.

但是,这意味着您应该每次都更改文件名,但我担心如果您这样做,它看起来会不正确,因为您每次都会发送少量数据。

http://www.gnu.org/software/libc/manual/html_node/System-Calls.html

我从未使用过 gnuplot,但如果您查看此页面 ( http://gnuplot-tricks.blogspot.com/ ),您可能会发现一些使其能够正常工作的技巧。

但是,我认为,除非您要自己绘制所有内容并跳过 gnuplot,否则您可能只需要等待即可。

您可能会发现 gnuplot 的 C 接口可以帮助您:

http://ndevilla.free.fr/gnuplot/