使用C++绘制图形

5

我正在使用C++编写程序来数值求解微分方程(ODE和PDE)。原因很简单——对于大规模计算,C++比Matlab快得多。然而,在绘图方面,Matlab显然是赢家。有没有办法在C++中实现类似于Matlab的绘图功能呢?


我会直接谷歌搜索 - Cheers and hth. - Alf
你的目标是哪个GUI工具包? - Mark
你有几个选择。你可以找一些C++库。或者你可以将结果导出到其他软件中进行绘图。只要记住,在解决问题后,你总是可以导出数据,然后使用不同的工具绘制数据。 - shuttle87
把你的cpp代码放到一个mex函数中,然后在Matlab中使用它怎么样? - Daniel
4个回答

2

+1,我在我的论文的基准测试和原型阶段也使用了类似的方法。 - Marco A.

1

事实证明,编写比精心编写的MATLAB代码更好的C++数值软件非常困难。后者默认是多线程的,使用最新的Intel MKL优化(除非您付费使用Intel编译器,否则您将无法使用)。

关于绘图,您可以使用gnuplothttp://www.gnuplot.info/links.html


1
为增加选项,您可以编写C++应用程序以生成一些matlab可读的输出,例如CSV文件。
QWT有一些免费的绘图小部件,但它依赖于Qt GUI。商业版的Qt也有许多不同的绘图功能。请参见https://qt-project.orghttp://qwt.sourceforge.net

1
我在为我的C++项目绘制一些图表时遇到了困难。有很多解决方法,例如使用gnuplot并创建可以在Excel中打开的csv文件。
如果您正在使用Visual Studio,则建议使用我的方法,即安装用于Visual Studio的Qt插件并使用QWT。配置可能会有点棘手,但我愿意指导您,如果有任何困难,请在评论中简单留言。
QWT也可以用于实时应用程序,例如视频的实时直方图,其中直方图将自动更新而无需刷新或调用它。只需调用一次即可满足要求。(:

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接