在JavaPlot中创建Polar图

时间:2014-08-08 20:37:45

标签: java gnuplot javaplot

我无法通过JavaPlot传递GNUplot参数。我已经能够将JavaPlot用于几个不同的图形,但我似乎无法让JavaPlot激活GNUPlot中的“​​极性”设置。

更改为极坐标模式的GNUPlot命令只是“设置极性”。我知道我可能需要给JavaPlot的一些PropertyHolder对象提供一个.set(“polar”)命令。但是哪个对象?

直观地说,我会尝试(在创建一个名为png的图像终端之后):

    GNUPlotParameters params = new GNUPlotParameters();
    params.set("polar");
    GNUPlot p = new GNUPlot(params);
    p.setTerminal(png);
    FunctionPlot func = new FunctionPlot("sin(x)");
    p.addPlot(func);

但是这不起作用 - 在addPlot()上构建失败。我也试过设置GNUPlot对象本身,但GNUPlot.set()需要一个(“关键字”,“值”)参数集,而我想发送到GNUPlot的命令只是“设置极性”。但这样做:

    p.set("polar","");

也会导致构建失败。任何人都知道如何设置特定的GNUPlot参数(如极地)?

2 个答案:

答案 0 :(得分:2)

您可能正确设置了polar选项,但是您必须使用t作为变量来绘制函数。在交互式gnuplot会话中,您必须使用

set polar
plot sin(t)

答案 1 :(得分:-1)

事实证明,设置polar关键字应该作为绘图本身的属性发生,实际上变量必须是t。为了完整起见,我需要这样才能使它工作(有两个示例函数,一个是预定义为函数图):

    JavaPlot p = new JavaPlot();
    p.setTerminal(png);
    p.set("polar","");
    FunctionPlot func = new FunctionPlot("cos(2*t)");
    p.addPlot(func);
    p.addPlot("sin(t)");
    p.setPersist(false);
    p.plot();