我发现使用JavaPlot的所有信息都是关于如何创建绘图并从Java代码级运行它们。这很好,但是我已经使用了一些脚本文件,当用户执行它们时,它们会在Jave之外执行我想要的操作。现在,我可以打开Gnuplot,然后输入命令
gnuplot> load "script.plt"
它会输出一个很好的.png图形,我的情节。在脚本中,其中一行称为
plot "graphData.dat" title "Line Title"
文件'graphData.dat'存储绘制图形所需的坐标信息。
当用户双击其文件夹中的“script.plt”文件(我在Windows环境中运行)时,这可以正常工作。这是非常完美的(减去gnuplot过程没有正确结束的事实,这不是我要问的,但如果它响起任何铃声,我也很想听听如何解决这个问题)。
我面临的问题是我需要能够通过gnuplot 通过java环境运行脚本。我的程序需要使用gnuplot自动导出.png图形。我已经做了一些环顾四周,JavaPlot似乎是Gnuplot中Java支持的首选库,但我不能让它做我想做的事情:只需运行一个调用上述加载命令的gnuplot实例。 / p>
我可以得到任何帮助或建议,我已经尝试放弃脚本文件,我试图动态调用load命令(但显然不是从正确的位置),我已经尝试绘图了直接的.dat文件,它真的不喜欢。只要我能让脚本运行,我就会设置。
答案 0 :(得分:1)
我立即注意到一件事:只需从gnuplot提示符加载一个脚本(即。)
gnuplot> #We've already entered gnuplot from the commandline
gnuplot> load "script.plt"
完全等同于在命令行上将脚本名称作为第一个参数传递给gnuplot(即。)
gnuplot script.plt
这也等同于命令行中的gnuplot -e 'load "script.plt"'
。这简化了您的问题,因为现在您不需要弄清楚如何通过管道与gnuplot进行通信,您只需要弄清楚如何在Java
中发出系统调用 - 我认为合理的任务对于在java
中编码的人来说很简单。在python
,我可以import os; os.system("gnuplot script.plt")
。
我认为@andersoj发布的链接中的第二,第三和第四个答案给出了一个示例和链接。
答案 1 :(得分:1)
JavaGnuplotHybrid库是您所需要的:使用Java和Gnuplot进行混合编程。
更多详情: