繁体   English   中英

Clojurescript,JavaScript,SVG,图表,图形

[英]Clojurescript, JavaScript, SVG, Charts, Graphics

我正在写一个客户端应用程序。 我想使用ClojureScript。 我想生成矢量图形(图形,图表,折线图)。

我应该读些什么?

[唯一的硬性要求是ClojureScript - (1)我喜欢Clojure,并希望在Clojure中完成这个整个应用程序(2)这需要在浏览器中运行]

谢谢!

无耻插件:您可以使用C2 ,一个Clojure / ClojureScript数据可视化库。 (Github 在这里 。)核心思想与D3 ---将数据映射到DOM元素相同---但由于你拥有Clojure更强大的语义和数据结构,它最终比D3 / JavaScript更具组合性。

文档可以使用一些爱,但如果您在SVG中制作传统图表,请查看轴和刻度生成助手:

https://github.com/lynaghk/c2/blob/master/src/cljx/c2/svg.cljx

https://github.com/lynaghk/c2/blob/master/src/cljx/c2/ticks.cljx

虽然还没有正式的0.1.0版本,但我们已经在Keming Labs的几个大型网络和iOS项目中使用过它。

如果你有一个特定的可视化,你不确定如何接近,请随时ping我@lynaghk或打开一个Github问题。

由于常规javascript库可以在clojurescript中使用,我想你可以使用像Raphaeld3这样的东西来处理svg。 d3可能更适合你需要的东西,虽然它有点难以使用。

总是可以直接使用DOM,您不需要任何教程。 SVG标准结构合理,易于理解。

这是一个老问题,但对于现在找到它的任何人来说,另一个选择是使用笔画库 ,当问题被问到时,它不可用。 Strokes是围绕d3.js的Clojure包装器。

我建议查看Vega-Lite和Vega,这是围绕着图形语法(R的流行ggplot2库背后的力量)的想法而设计的。 GG的核心思想是将数据可视化指定为数据属性如何映射到dataviz美学的声明性描述。 Vega-Lite和Vega在提供交互语法方面更进一步,它允许构建交互式数据可视化和复杂的资源管理器视图。 此外,它引发了GG的声明性质,因为Vega-Lite和Vega规范被描述为纯数据(JSON),这使得它非常符合Clojure世界的数据驱动哲学,并且铺平了与不同语言等无缝互操作的方式。

Vega-Lite或多或少是更高杠杆的日常数据科学工具,专注于提供基于非常简单规范的高杠杆和自动化。 它编译为Vega,这是一个较低级别和更强大,但Vega-Lite的自动化版本较少。 通常从Vega-Lite开始,只在需要时切换到Vega就足够了。

有关Vega&Vega-Lite的更多信息,请访问: https//vega.github.io

如果您想使用Clojure或ClojureScript中的Vega-Lite或Vega,您可能希望查看一个我写的名为Oz的小而灵活的包装器库:

https://github.com/metasoarous/oz

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM