【发布时间】:2012-03-14 05:59:46
【问题描述】:
我正在尝试在 Incanter 图表中包含一个图例,但在获取我想要的内容时遇到了一些麻烦:
我希望能够先实例化一个没有数据的图表(使用
[] []作为我的 x y 参数),然后在单独的步骤中添加数据点。但是,添加图例的唯一方法是在构造函数中给出初始 x y 点之后指定:legend true。没有 x y 参数无法指定:legend true,我也没有找到任何add-legend函数。legend 选项捕获我在添加图表数据时使用的代码,这意味着如果我不希望丑陋的代码出现在图例中,我必须为 X 和 Y 点创建一个漂亮的变量,而不仅仅是直接调用一个函数。
因此,创建的图例包括创建空白图时使用的
[][],它包括获取点数据时使用的函数调用,它包括名称损坏的匿名函数(fn*[p1__3813#](second p1__3813#))这对我的图表的消费者来说是非交流的。我只是希望能够将一个字符串与图例中的每组点相关联,例如在 matlab、excel 等中。
这是我当前的代码;
(def lux-ratios-plot
(doto (scatter-plot [] [] :legend true
:title "Lux/CH0 vs. CH1/CH0"
:x-label "CH1/CH0"
:y-label "Lux/CH0")
(view)))
(doseq [dut [incs hals cfls leds]]
(add-points lux-ratios-plot (get-vals :CH1/CH0 dut) (get-vals :Lux/CH0 dut) :points true))
; Show the trend line for each bulb
(doseq [fit [inc-fit hal-fit cfl-fit led-fit]]
(add-lines lux-ratios-plot (map #(second %) (:x fit)) (:fitted fit)))
因此,Incanter 图中有什么方法可以为每个 (add-lines ...) 或 (add-points ...) 调用指定一个图例字符串?
非常感谢
迈克尔
【问题讨论】:
标签: charts clojure legend incanter