我正在尝试在 Incanter 图表中包含一个图例,但我在获得我想要的东西时遇到了一些麻烦:
我希望能够先实例化没有数据的图表(
[] []
用作我的 xy 参数),然后在单独的步骤中添加数据点。然而,添加图例的唯一方法是:legend true
在构造函数中给出初始 xy 点之后指定。没有 xy 参数就无法指定: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 ...)
调用指定一个图例字符串?
非常感谢
迈克尔