2012-04-25 36 views
4

我正在創建一個機器人相對於地標距離的圖。 x軸是測量的數量,y軸是到地標的距離,其中應該包括誤差線以表示對該估計的置信度。添加誤差線以便在Incanter中繪圖的慣用方式

我一直沒有找到一個很好的方法來添加誤差棒的基礎上,方差的值。目前,我在每次測量中創建一個箱形圖,方法是使用我的方差值生成關於平均值的樣本數據。這顯然不是理想的,因爲它在計算上效率低下,並且是我試圖顯示的信息的不精確表示。

如何做到這一點的任何想法?理想情況下,它將在xy圖上,並且可以在不需要使用JFreeChart命令的情況下完成。

回答

2

我想我有一些非常接近的東西。首先讓我們創建一些隨機數據來繪圖:

(def y (for [i (range 20)] (rand-int 100))) 
user> (11 14 41 33 25 71 52 34 83 90 80 35 81 63 94 69 97 92 4 91) 

現在創建一個圖。您可以使用xy-plot,但我更喜歡scatter-plot的外觀。

(def plot (scatter-plot (range 20) y)) 
(view plot) 

這給了我下面的情節

Random Data

現在,我們必須定義一個函數,它接受一個點(x,y)和返回的下限和上限的矢量錯誤欄。我會用一個簡單的計算,只計算y值上下5%。

(defn calc-error-bars [x y] 
    (let [delta (* y 0.05)] 
    [(- y delta) (+ y delta)])) 

現在我們只map,超過設定的使用add-lines功能類似這樣的數據的功能...

(map #(add-lines plot [%1 %1] (calc-error-bars %1 %2)) (range 20) y) 

這給了我們這樣的情節:

Random Data with Error Bars

主要問題是所有酒吧是不同的顏色。我不確定是否有解決方法,而不使用JFreeChart調用。希望有人會看到這個並告訴我如何解決它。無論如何,這非常接近。

+0

雅如果顏色可以改變沒有JFreeChart調用,這將是理想的,但這是相當不錯的 – troyastorino 2012-06-12 00:17:41

相關問題