在应用程序中加入gnu javaplot

时间:2011-12-24 20:47:35

标签: java exception gnuplot javaplot

我在将javaplot设置到我的应用程序时遇到了一些问题。

我已从以下网址下载源文件:http://sourceforge.net/projects/gnujavaplot/files/latest/download

我已将.jar包拖入默认的java库文件夹/ Library / Java / Home / lib / ext(我正在运行mac os x 10.7)

按照网站上的说明操作后,我有以下程序

import com.panayotis.gnuplot.JavaPlot;
public class Test {
    public static void main(String[] args) {
        JavaPlot p = new JavaPlot();
        p.addPlot("sin(x)");
        p.plot();
    }
}

编译很好,但是当我尝试运行程序时,我收到以下错误:

Exception in thread "main" com.panayotis.gnuplot.GNUPlotException: GnuPlot executable      
"gnuplot" not found. Please provide gnuplot path to the constructor of GNUPlot.
at com.panayotis.gnuplot.GNUPlot.<init>(GNUPlot.java:161)
at com.panayotis.gnuplot.GNUPlot.<init>(GNUPlot.java:58)
at com.panayotis.gnuplot.JavaPlot.<init>(JavaPlot.java:31)
at Test.main(Test.java:4)

有人能否解释这个错误?任何帮助都会非常感谢

利奥

2 个答案:

答案 0 :(得分:1)

查看Javaplot源代码中的Javadoc文档。它声明Javaplot需要在您的系统上安装gnuplot二进制文件。正如您收到的错误消息所示,您必须向构造函数提供gnuplot的路径。显然,自动搜索它不会成功 - 这可能意味着您的系统上没有安装gnuplot,或者您将其安装在非标准位置。

Javaplot源代码还包含这个构造函数,它允许传递路径:

/**
 * Create a new JavaPlot object with a given gnuplot path
 * @param gnuplotpath
 * @throws com.panayotis.gnuplot.GNUPlotException If the gnuplot executable is not found, this exception is thrown.  It means that the
 * provided path for gnuplot is not valid.
 * @see GNUPlot#GNUPlot(String)
 */
public JavaPlot(String gnuplotpath) throws GNUPlotException {
    super(gnuplotpath);
}

您可以在bash控制台中使用命令which gnuplot找到系统上安装gnuplot的位置。

答案 1 :(得分:1)

我有同样的问题。这个问题是,因为“gnuplot”不在我的macOS中。 因此,您可以使用MacPorts进行安装。 http://guide.macports.org 然后:

sudo port selfupdate
sudo port install gnuplot

并等待....完成该过程后,您可以运行de JavaPlot。