【问题标题】:Clojurescript, JavaScript, SVG, Charts, GraphicsClojurescript、JavaScript、SVG、图表、图形
【发布时间】:2012-04-26 09:18:05
【问题描述】:

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

我应该读什么?

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

谢谢!

【问题讨论】:

    标签: javascript svg clojure clojurescript


    【解决方案1】:

    无耻插件:您可以使用C2,一个 Clojure/ClojureScript 数据可视化库。 (Github here.) 核心思想与 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 项目中使用它。

    如果您不确定如何处理特定的可视化,请随时联系我@lynaghk 或打开 Github 问题。

    【讨论】:

    • 科明实验室的物理位置在哪里?有没有机会在旧金山湾区?
    • 我们在阳光明媚的俄勒冈州波特兰市,不过我每隔一两个月就会去海湾。
    【解决方案2】:

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

    总有直接使用 DOM 的替代方法,您不需要任何教程。 SVG standard 结构良好且易于理解。

    【讨论】:

      【解决方案3】:

      我建议查看 Vega-Lite 和 Vega,它们是围绕图形语法(R 流行的 ggplot2 库背后的力量)的思想设计的。 GG 的核心思想是数据可视化被指定为数据属性如何映射到数据可视化美学的声明性描述。 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

      【讨论】:

        【解决方案4】:

        这是一个老问题,但对于现在找到它的任何人来说,另一种选择是使用strokes library,在提出问题时它不可用。 Strokes 是 d3.js 的 Clojure 包装器。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2019-05-31
          • 2010-09-18
          • 1970-01-01
          • 1970-01-01
          • 2012-02-15
          • 1970-01-01
          相关资源
          最近更新 更多