在 clojurescript 的 FlexibleXYPlot 中插入用 for 生成的序列的结果 [已解决]
Insert the result of a sequence generated with for in a FlexibleXYPlot in clojurescript [SOLVED]
在这个问题 () 中,我学习了如何将创建两个 customSVGSeries
的函数的结果插入到 XYPlot
.
现在我想插入 for
调用相同函数的结果:
(into [:> rvis/FlexibleXYPlot {...}]
(doall (for [[id {:keys [x y texto]}] etiquetas]
(crear-etiqueta id x y texto))))
其中 etiquetas
是具有以下形式的地图:
{:etiqueta-1 {:x 0, :y 0, :texto ["176.6"]}, :etiqueta-2 {:x 1, :y 2, :texto ["Hidrógeno"]}}
和crear-etiqueta
是返回两个customSGVSeries
的函数。问题是使用上面的代码,图中没有显示任何内容。
我上传了一个带有 MWE 的 repo:https://github.com/lopezsolerluis/annie-test-for-Whosebug
编辑
我采用了 Eugene 的绝妙创意...它非常有效!
(into [:> rvis/FlexibleXYPlot {...}]
(mapcat (fn [[id {:keys [x y texto]}]]
(crear-etiqueta id x y texto))
etiquetas))
扩展我对问题的评论。
将 for
用于两个集合:
(into [:> rvis/FlexibleXYPlot {...}]
(for [[id {:keys [x y texto]}] etiquetas
series (crear-etiqueta id x y texto)]
series))
for
将遍历 eqieuetas
,对于每个项目,它将对其进行解构并将结果传递给 crear-etiqueta
,其中 returns 是一个集合。 for
然后遍历该集合并将每个项目的值分配给 series
。然后body最后求值,也就是returnsseries
.
的值
使用mapcat
换能器:
(into [:> rvis/FlexibleXYPlot {...}]
(mapcat (fn [[id {:keys [x y texto]}]]
(crear-etiqueta id x y texto)))
etiquetas)
我不会详细介绍它的工作原理 - 都已记录在案 here。我绝对建议您完整阅读该参考资料,因为换能器在许多情况下都非常有用。
在这个问题 (customSVGSeries
的函数的结果插入到 XYPlot
.
现在我想插入 for
调用相同函数的结果:
(into [:> rvis/FlexibleXYPlot {...}]
(doall (for [[id {:keys [x y texto]}] etiquetas]
(crear-etiqueta id x y texto))))
其中 etiquetas
是具有以下形式的地图:
{:etiqueta-1 {:x 0, :y 0, :texto ["176.6"]}, :etiqueta-2 {:x 1, :y 2, :texto ["Hidrógeno"]}}
和crear-etiqueta
是返回两个customSGVSeries
的函数。问题是使用上面的代码,图中没有显示任何内容。
我上传了一个带有 MWE 的 repo:https://github.com/lopezsolerluis/annie-test-for-Whosebug
编辑
我采用了 Eugene 的绝妙创意...它非常有效!
(into [:> rvis/FlexibleXYPlot {...}]
(mapcat (fn [[id {:keys [x y texto]}]]
(crear-etiqueta id x y texto))
etiquetas))
扩展我对问题的评论。
将 for
用于两个集合:
(into [:> rvis/FlexibleXYPlot {...}]
(for [[id {:keys [x y texto]}] etiquetas
series (crear-etiqueta id x y texto)]
series))
for
将遍历 eqieuetas
,对于每个项目,它将对其进行解构并将结果传递给 crear-etiqueta
,其中 returns 是一个集合。 for
然后遍历该集合并将每个项目的值分配给 series
。然后body最后求值,也就是returnsseries
.
使用mapcat
换能器:
(into [:> rvis/FlexibleXYPlot {...}]
(mapcat (fn [[id {:keys [x y texto]}]]
(crear-etiqueta id x y texto)))
etiquetas)
我不会详细介绍它的工作原理 - 都已记录在案 here。我绝对建议您完整阅读该参考资料,因为换能器在许多情况下都非常有用。