3

有谁知道如何在不恢复到 jfreechart 的情况下向 jpanel 显示一个 incanter 图表?

4

1 回答 1

6

Incanter 图表在底层是一个 JFreeChart,因此完全避免使用 JFreeChart 库是不可能的。

但是,如果您只想在 Panel 中包含一个可以在普通 Swing 应用程序中使用的咒语图表,那么有一个名为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)))
于 2012-01-17T12:59:56.587 回答