C++ 项目中使用 matplotlib
1. 说明
在 C++ 项目中直接绘制结果向量的图像不是很方便,往往需要图形界面框架。github 项目 matplotlib-cpp 能够实现在 C++ 项目中调用 python 的 matplotlib 绘图库。本文记录一下最快添加到 VS2022 项目中的方法,本文也同步在个人站点中。
2. 过程
2.1 安装 python、numpy 和 matplotlib
2.2 安装 vcpkg 包管理器
在想要安装的路径下打开 window terminal,执行
执行完毕后,vcpkg 就被集成到了 VS2022 中。
2.3 安装 matplotlib-cpp
3 配置 VS2022
3.1 添加附加包含目录
打开项目 --> 属性。
在 C++ --> 常规 中添加本地 python 的 include 文件夹路径和 numpy 的 include 路径。

3.2 添加附加库目录
在 链接器 --> 常规 中添加 python libs 路径。

3.3 input
在 链接器 --> 输入 中添加 python 的 lib 文件。

3.4 修改 matplotcpp.h 文件
打开 matplotlib-cpp.h 文件,在头文件中添加 `include <string>`。不然会报"命名空间 std 没有成员 stod"的错误。
关于这个错误,我查看项目的 github 仓库,源文件中已经添加了 string 头文件,但通过 vcpkg 安装的版本仍需添加。
注释掉 340 行左右的两个 template 定义。

4. 效果
使用时只需要添加头文件和命名空间,把想要查看的向量传入 plot 即可。
结果如下:

可以像 matplotlib 一样添加标题,坐标轴等等,作者在 github 仓库中提供了一些例子:https://github.com/lava/matplotlib-cpp
参考
1. [VisualStudio2019 c++安装matplotlib-cpp](https://zhuanlan.zhihu.com/p/310073847)
2. [【C++】11 Visual Studio 2019 C++安装matplotlib-cpp绘图](https://blog.csdn.net/weixin_43012724/article/details/124051588)