如何在Jpanel中显示incanter图

时间:2012-01-17 10:17:56

标签: clojure incanter

有没有人知道如何在没有恢复到jfreechart的情况下向jpanel显示incanter图表?

1 个答案:

答案 0 :(得分:6)

Incanter图表是一个JFreeChart,因此无法完全避开JFreeChart库。

但是,如果您只想在Panel中包含可以在普通Swing应用程序中使用的incanter图表,那么就有一个名为org.jfree.chart.ChartPanel的现成类可以为您执行此操作。

示例代码:

(ns my.chart
  (:import [org.jfree.chart ChartPanel])
  (:import [java.awt Component Dimension])
  (:import [javax.swing JFrame])
  (:use [incanter core stats charts]))

(defn show-component [^Component c]
  "Utility Function to display any Java component in a frame"
  (let [^JFrame frame (JFrame. "Test Window")]
    (doto frame
      (.add c)
      (.setSize (Dimension.  640 480)) 
      (.setVisible true))))

(show-component (ChartPanel. (function-plot sin -10 10)))