clojure

时间:2015-08-22 19:52:20

标签: clojure

clojure是否有任何用于显示动态图表/图表的库,例如像振荡正弦波一样简单?

看着incanter库,但它似乎只提供静态图。

1 个答案:

答案 0 :(得分:5)

不是真正的绘图库,但您可以使用quil库的Processing接口。

如果您愿意使用Clojurescript,我建议您查看d3.jsstrokes库,以便在Clojurescript中使用它。然而,这需要学习d3.js的古怪方法论,即使你在Clojure中编写大部分代码,也需要在HTML,DOM,CSS和Javascript方面进行相当多的思考。 [编辑:我现在认为直接从Clojurescript使用d3.js更简单;中风提供的好处不大。还有一些基于d3.js构建的Clojurescript图表库。例如,我发现NVD3非常有用。]

还有一个全Clojurescript C2库,旨在实现d3.js的一些功能,但不允许动态绘图,但您可以使用自定义添加动态功能CSS。 (C2并没有真正增长,AFAIK,但它积极维护。)

另一个实际上可能更容易(或不实用)的选项是使用可以满足您需求的Java库。毫无疑问,有几个,包括JFreeChart。这也可能需要一些Java风格的思考,学习Clojure-Java互操作(从简单到丑陋,令人困惑和冗长,取决于Java库的结构)。

无论它有什么价值,都有用于将Java与R连接的库,它通过它的内置绘图,ggplot2库和点阵库具有非常好的绘图功能。所以从理论上讲,你可以使用Clojure控制Java来控制R,这可能不值得。有关Java-to-R库,请参阅this question

您还应该询问Incanter Google小组。也许有一些隐藏的技巧,或者正在开发中可以做你想做的事情。

编辑:Incanter确实提供了一个名为"dynamic plots"的东西。我认为不完全是你想要的:这些图表的参数附加在滑块上,这样你就可以看到情节随时间的变化。尽管如此,Incanter可以做到这一点的事实表明,创建一个动态变化的图表可能并不难以响应数据的变化。

另外编辑:由于JFreeChart是Incanter用于绘制图表的内容,而JFreeChart是一个能够生成动态图表的Java库,因此选项是在Incanter生成的图表对象上使用Java方法,如{{3建议。

(编辑:搜索" clojure jfreechart"出现了一些图书馆和教程,旨在帮助人们使用JFreeChart和Clojure。)

Anndd ......还有一个编辑:this answer 看起来它可能完全你想要什么,jyriand。 (我对相关问题感兴趣,并且我一直注意到这个问题的新潜在答案。)