我正在拼命地努力让 Java 和 gnuplot 更好地发挥作用。我已经开始使用JavaPlot
并将 jar 添加到类路径(使用 Eclipse)。
我还下载了 gnuplot 并将其放在安全的地方。
第一个问题,所有例子都由JavaPlot
假设您已将 gnuplot 放在正确的位置,但我不知道它在哪里。因此他们的例子是:
import com.panayotis.gnuplot.JavaPlot;
public class test {
public static void main(String[] args) {
JavaPlot p = new JavaPlot();
p.addPlot("sin(x)");
p.plot();
}
}
仅当 gnuplot 添加到类路径中时才有效,关于它可能在哪里以及如何添加的任何想法?
不过不用担心,因为您可以在 JavaPlot 的构造函数中定义 gnuplot 的位置,如下所示:
import com.panayotis.gnuplot.JavaPlot;
public class test {
public static void main(String[] args) {
JavaPlot p = new JavaPlot("D:/Eclipse/gnuplot/binary/pgnuplot.exe");
p.addPlot("sin(x)");
p.plot();
}
}
这会做一些事情,如果你很快,你可以看到一个图表出现(正确的是,可以看到正弦波),然后立即消失。我在网上读到,在实际的 gnuplot 应用程序中,这在使用 Windows 时很常见,并且必须在绘图后添加“-persist”。幸运的是JavaPlot
还有一个函数可以做到这一点:
p.setPersist(true);
但就我而言,它没有任何作用。第二个问题,有人用过 gnuplot,JavaPlot
,以及 Windows 7 64bit 之前的版本,知道如何执行此操作吗?从我的谷歌搜索中我了解到 pgnuplot 是正确运行的 .exe?
我缺少什么?我究竟做错了什么?
我想我可能有一个适合您的解决方法,因为我今天在 Windows 7 上访问 JavaPlot 时遇到了同样的事情(尽管这里是 32 位)。是的,pgnuplot.exe 就是您想要的,但是如果您不想,则无需显式 setPersist,因为 JavaPlot 会为您执行此操作。我所要做的就是浏览源代码并注释掉一行。
在 GnuPlot 参数中,我看到了代码
/* Finish! */
bf.append("quit").append(NL);
这是第 198-199 行。然后绘图窗口保持打开状态。现在,这也让 gnuplot 保持打开状态。如果您不介意,您可以这样查看图表。尚未弄清楚如何在保持绘图窗口打开的同时关闭 gnuplot。
EDIT:
也许更合适的方法是不注释掉第 199 行并继续这样:
bf.append("pause -1").append(NL);
/* Finish! */
bf.append("quit").append(NL);
这样,就会出现暂停对话框。这可以让你看到情节。当您关闭对话框时,一切都会再见。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)