C++ 項(xiàng)目中使用 matplotlib
1. 說(shuō)明
在 C++ 項(xiàng)目中直接繪制結(jié)果向量的圖像不是很方便,往往需要圖形界面框架。github 項(xiàng)目 matplotlib-cpp 能夠?qū)崿F(xiàn)在 C++? 項(xiàng)目中調(diào)用 python 的?matplotlib 繪圖庫(kù)。本文記錄一下最快添加到 VS2022 項(xiàng)目中的方法,本文也同步在個(gè)人站點(diǎn)中。
2. 過(guò)程
2.1 安裝 python、numpy 和 matplotlib
2.2 安裝 vcpkg 包管理器
在想要安裝的路徑下打開(kāi) window terminal,執(zhí)行
執(zhí)行完畢后,vcpkg 就被集成到了 VS2022 中。
2.3 安裝 matplotlib-cpp
3 配置 VS2022
3.1?添加附加包含目錄
打開(kāi)項(xiàng)目 --> 屬性。
在 C++ --> 常規(guī) 中添加本地 python 的 include 文件夾路徑和 numpy 的 include 路徑。

3.2 添加附加庫(kù)目錄
在 鏈接器 --> 常規(guī) 中添加 python libs 路徑。

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

3.4?修改 matplotcpp.h 文件
打開(kāi) matplotlib-cpp.h 文件,在頭文件中添加 `include <string>`。不然會(huì)報(bào)"命名空間 std 沒(méi)有成員 stod"的錯(cuò)誤。
關(guān)于這個(gè)錯(cuò)誤,我查看項(xiàng)目的 github 倉(cāng)庫(kù),源文件中已經(jīng)添加了 string 頭文件,但通過(guò) vcpkg 安裝的版本仍需添加。
注釋掉 340 行左右的兩個(gè) template 定義。

4. 效果
使用時(shí)只需要添加頭文件和命名空間,把想要查看的向量傳入 plot 即可。
結(jié)果如下:

可以像 matplotlib 一樣添加標(biāo)題,坐標(biāo)軸等等,作者在 github 倉(cāng)庫(kù)中提供了一些例子: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)