将JMathPlot与Clojure一起使用,.addLinePlot方法出现错误

将JMathPlot与Clojure一起使用,.addLinePlot方法出现错误,clojure,plot,Clojure,Plot,我将JMathPlot与Clojure一起使用,如下代码所示: (ns plot.core (:gen-class) (:import [org.math.plot Plot2DPanel]) (:import [javax.swing JFrame])) (let [plot (new Plot2DPanel) frame (JFrame. "plot")] (doto plot (.addLegend "SOUTH") (.addLinePlot [

我将JMathPlot与Clojure一起使用,如下代码所示:

(ns plot.core
 (:gen-class)
 (:import [org.math.plot Plot2DPanel])
 (:import [javax.swing JFrame]))

(let [plot (new Plot2DPanel)
      frame (JFrame. "plot")] 
  (doto plot
    (.addLegend "SOUTH")
    (.addLinePlot [1 2 3]  [22 33 44]))
  (doto frame 
    (.setContentPane plot)
    (.setSize 300 300)
    (.setVisible true)))
但存在“无匹配方法”的错误:

代码基于JMathPlot网页中的一个示例,所以我不确定该方法如何不存在?
这个问题特别出现在addLinePlot中,因为我运行的代码没有使用这个方法,而且它工作正常

方法需要数组作为其参数,而不是向量。必须使用普通数组,如下所示:

(.addLinePlot plot (double-array [1 2 3]) (double-array [22 33 44]))

有关clojure中数组的更多信息,请参阅。

我发现了问题,.addLinePlot将根据其站点中的示例接受不少于3个参数

plot.addLinePlot(“我的图”,x,y)


若“我的绘图”被删除,该方法将抛出如上所述的错误

谢谢你的链接,我从来没有注意到clojure和java interop的这一部分,不管怎样,它没有解决问题,我收到了相同的错误。我使用了与Jython相同的代码,它工作得非常好。有了Clojure,我可以在JFrame中显示Plot2DPanel中的一个新实例,但无法将.addLinePlot添加到该实例中!
(.addLinePlot plot (double-array [1 2 3]) (double-array [22 33 44]))