Как передать определенные команды в gnuplot при использовании JavaPlot - PullRequest
0 голосов
/ 21 января 2019

Я делаю Java-приложение, которое использует gnuplot. Я уже успешно отобразил график в JPanel (используя JPlot). Но мне нужно каким-то образом получить доступ к командам, которые JavaPlot дает gnuplot, или, вернее, мне нужно отобразить их и напрямую отредактировать. И это проблема, на которой я застрял; JavaPlot - слишком сложная библиотека для меня, и я не смог найти способ сделать это.

Я пытался использовать GNUPlotParameters в конструкторе PlotHandler (код ниже), но, похоже, он не работает. Я смог получить некоторые результаты с:

class PlotHandler { //my own class that works with the JPlot
    private String gnuplotpath;
    private JavaPlot p;    

  PlotHandler(String path){ 
    this.gnuplotpath=path;
    /*doesn't work
    GNUPlotParameters para = new GNUPlotParameters();          
    para.set("size 900 900");                      
    p = new JavaPlot(para,gnuplotpath,new DefaultTerminal());
    */
    //this does:
    p = new JavaPlot(gnuplotpath);
    p.setTitle("spectrum");
    p.getAxis("x").setLabel("wave length");
    p.getAxis("y").setLabel("absorbance");
  }


  JPlot getGraph(){
    JPlot plot;
    ((AbstractPlot) p.getPlots().get(0)).getPlotStyle().setStyle(Style.LINES);
    plot = new JPlot(p);
    plot.getJavaPlot().plot();
    return plot;
  }   

}

GUI:
...
JPlot plot = plotHandler.getGraph();
System.out.println(plot.getJavaPlot().getCommands()); //this seems to work, but I'm not sure that it would work if I somehow passed some commands thru the GNUPlotParameters.

В общем, мне нужны некоторые методы, такие как

JPlot.getJavaPlot.setCommands(String commands) 

и

String commands = JPlot.getJavaPlot.getCommands()

(getCommands() на самом деле существует, я просто не могу сказать, работает ли он так, как я хочу)

...