C++调用gnuplot进行绘图并保存图像

想用c++调用gnuplot实现绘图功能并保存图像,实验了一下初步成功了,代码如下:

char* gnuplotPath = "gnuplot.exe";
    FILE* gp = _popen(gnuplotPath, "w");
    if (gp == NULL)
    {
        cout << ("Cannotopen gnuplot!\n") << endl;;
        return 0;
        //exit(0);
    }
    fprintf(gp, "plot sin(x)\n");
    fprintf(gp, "set term jpeg\n");
    fprintf(gp, "set output 'output/a.jpg'\n");
    fprintf(gp, "replot\n");
    fprintf(gp, "pause mouse\n");//用户点击后退出
    _pclose(gp);

有几个需要注意的地方:

(1)需要事先将gnuplot添加到系统路径;

(2)设置输出路径为相对路径的时候,当前目录是.sln文件或.exe的所在目录;

(3)设置输出路径为绝对路径时会报错,原因尚不明确,不过绝对路径并不刚需,以后想起来再解决该问题。

你可能感兴趣的:(C++调用gnuplot进行绘图并保存图像)