首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何用c程序绘制数据?

如何用c程序绘制数据?
EN

Stack Overflow用户
提问于 2013-01-14 10:32:09
回答 6查看 73.3K关注 0票数 25

我是一个机械工程师,只有有限的C编程知识。我写了一些代码来进行模拟,我想要可视化模拟结果。目前,我正在使用Dev-C编写代码。使用fopenfprintf命令,我生成了一个包含结果的.dat文件。然后,我打开GNUPLOT程序并导入我的.dat文件来绘制结果。这需要时间,我必须等到模拟结束。有没有一种简单的方法可以将我的绘图仪连接到Dev-C,以便我的绘图仪在仿真期间开始打印数据?任何库或其他?

EN

回答 6

Stack Overflow用户

发布于 2013-01-14 20:48:44

既然您已经了解gnuplot,那么最简单的做法可能就是从您的程序中调用gnuplot并通过管道将数据传递给它:

代码语言:javascript
运行
复制
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);
票数 19
EN

Stack Overflow用户

发布于 2013-01-14 10:39:50

好的,当你写出一个文件时,一种解决方案就是在你写出文件时调用一个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/

票数 4
EN

Stack Overflow用户

发布于 2013-01-14 13:05:37

我一直在使用PLPlot在C语言中绘图,我发现它既有效又简单。它是跨平台的,开源的,并且支持丰富的绘图功能。我建议先看一下示例,然后再开始。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14311640

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档