如何在Jpanel中显示incanter图

kos*_*tas 3 clojure incanter

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

mik*_*era 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)))
Run Code Online (Sandbox Code Playgroud)