我正在创建一个机器人对地标距离的信念. x轴是测量的数量,y轴是到地标的距离,其应该包括误差条以指示该估计的置信度.
我无法找到一种基于方差值向图中添加误差线的好方法.目前,我正在每次测量时创建一个箱形图,方法是使用我的方差值生成有关均值的样本数据.这显然不是理想的,因为它在计算上效率低下,并且是我试图显示的信息的不精确表示.
有关如何做到这一点的任何想法?理想情况下,它将在xy-plot上,并且可以在不必诉诸JFreeChart命令的情况下完成.
最佳答案 我想我有一些非常接近的东西.首先让我们创建一些随机数据来图表:
(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,但我更喜欢散点图的外观.
(def plot (scatter-plot (range 20) y))
(view plot)
这给了我以下情节
现在我们必须定义一个带点(x,y)的函数,并返回错误条的下边界和上边界的向量.我将使用一个简单的算法,只计算y值的5%以上.
(defn calc-error-bars [x y]
(let [delta (* y 0.05)]
[(- y delta) (+ y delta)]))
现在我们只使用这样的add-lines函数将该函数映射到数据集上……
(map #(add-lines plot [%1 %1] (calc-error-bars %1 %2)) (range 20) y)
这给了我们这个情节:
主要问题是所有的条都是不同的颜色.我不确定在没有使用JFreeChart调用的情况下是否有办法解决这个问题.希望有人会看到这个并告诉我如何解决它.无论如何,这非常接近.