2012-04-25 12 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の外観が好きです。私は、次のプロット

Random Data

を与える

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

は、今では(x、y)の点をとり、の下限と上限のベクトルを返す関数を定義する必要がありますエラーバー。私はy値の上下5%を計算する単純なものを使用します。

このよう add-lines機能を使用して、データのセット上で機能し
(defn calc-error-bars [x y] 
    (let [delta (* y 0.05)] 
    [(- y delta) (+ y delta)])) 

今、私たちはただmap ...

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

そして、それは私たちにこのプロットを与える:

Random Data with Error Bars

主な問題は、すべてのバーが異なる色であることです。 JFreeChartの呼び出しを使わずにこのことを回避する方法があるかどうかはわかりません。うまくいけば、誰かがこれを見て、それを修正する方法を教えてくれるでしょう。とにかく、それはかなり近いです。

+0

JFreeChartの呼び出しがなくても色を変更できるのなら理想的ですが、これはかなり良いです – troyastorino

関連する問題