在 C++ 和 Matplotlib 混合编程时,您需要确保正确地初始化和使用 Matplotlib 绘图窗口。如果您使用的是 plot()
函数来绘制向量的图像,并且无法正确显示,那么可能是由于没有正确初始化 Matplotlib 绘图窗口导致的。
当你将参数写成简单的 vector<int> vectorS = {1,2,3}
时,Matplotlib 可以自动识别并显示该向量的图像。这是因为 Matplotlib 可以自动检测并处理简单的向量类型。但是,如果您使用 plot()
函数来绘制向量的图像,并且无法正确显示,那么可能是由于没有正确初始化 Matplotlib 绘图窗口导致的。
可以使用以下代码来初始化 Matplotlib 绘图窗口并绘制向量的图像:
#include <iostream>
#include <vector>
#include <matplotlib.h>
using namespace std;
int main() {
// 初始化 Matplotlib 绘图窗口
plt::init_params();
plt::set_default_font_size(12);
plt::io::savefig("output.png");
// 绘制向量的图像
vector<int> vectorS = {1, 2, 3};
for (int i = 0; i < vectorS.size(); i++) {
plt::plot(vectorS[i], 1, 'o');
}
// 显示图像
plt::show();
return 0;
}
在这个示例中,使用 plt::init_params()
函数来初始化 Matplotlib 绘图窗口,并使用 plt::io::savefig()
函数将图像保存为 PNG 文件。然后使用 plt::plot()
函数来绘制向量的图像,并使用循环来遍历向量的每个元素。最后使用 plt::show()
函数来显示图像。
请注意根据实际情况修改代码中的字体大小和保存文件路径。