我是 C++ 新手,正在尝试构建一个程序来接收数据并进行转换,然后绘制它。对于绘图,我想使用 Sciplot,但是当我运行该程序时,出现消息“命令‘gnuplot’拼写错误或找不到。”出现。我已经安装了最新版本的 gnuplot (5.4.4),但程序似乎无法调用它。 这是我用于测试 sciplot 的代码(示例取自 https://sciplot.github.io/tutorials/):
#include <sciplot/sciplot.hpp>
using namespace sciplot
int main(int argc, char* argv[]
{
Vec x = linspace(0.0, PI, 200);
Plot2D plot;
plot.xlabel("x");
plot.ylabel("y");
plot.xrange(0.0, PI);
plot.yrange(0.0, 1.0);
plot.legend()
.atOutsideBottom()
.displayHorizontal()
.displayExpandWidthBy(2);
plot.drawCurve(x, std::sin(1.0 * x)).label("sin(x)");
plot.drawCurve(x, std::sin(2.0 * x)).label("sin(2x)");
plot.drawCurve(x, std::sin(3.0 * x)).label("sin(3x)");
Figure fig = { {plot} };
Canvas canvas = { {fig} };
canvas.show();
return 0;
}
我需要告诉 Visual Studio gnuplot 的路径吗?还是我错过了什么?
您需要在 gnuplot 安装程序的第六页上勾选“将应用程序目录添加到 PATH 环境变量”。或者将 gnuplot.exe 的文件夹添加到 PATH 环境变量中。
如果您使用 MS Visual Studio 编译示例,则需要关闭并重新打开 MS Visual Studio。 MS VS 仅在程序启动时“读取”环境变量。 这个 sciplot 项目使用 gnuplot 调用
std::system
,因此你的 cmd 必须识别 gnuplot 命令/找到 gnuplot exe。
我测试了它,它的工作原理就像我描述的那样。
您似乎在 Windows 中从命令提示符调用 Gnuplot 时遇到了问题。让我们一步步解决这个问题:
安装和环境变量: 首先,确保您已经下载并安装了 Gnuplot。您可以从此链接获取它= https://sourceforge.net/projects/gnuplot/。 在安装过程中,请确保选中所有复选框以安装所有组件。 安装后,重新启动 Visual Studio Community(如果在安装过程中打开)。 路径配置: 您看到的错误消息(“gnuplot 未被识别为内部或外部命令”)表明系统找不到 gnuplot 可执行文件。 只需进入 C:\Program Files\gnuplot 并运行 gnuplot.exe 即可解决