Thanks for this, Christopher. Oz has very rapidly become my go-to visualization library due to it's simplicity and exchange capabilities.
On Wednesday, January 23, 2019 at 9:26:00 AM UTC+1, Christopher Small wrote: > > > Greetings > > > I'm excited to announce the release of oz 1.5.1. > > https://github.com/metasoarous/oz > > Oz is a simple data visualization library built around Vega & Vega-Lite. > > In Vega & Vega-Lite, data visualizations are specified as pure data > descriptions about how to map properties of your data and interactions to > aesthetics of a visualization. To find out more about Vega & Oz please > visit https://github.com/metasoarous/oz. > > This release specifically adds some major new features: > > * Jupyter notebook support via the Clojupyter & IClojure kernels > * Export of visualizations and scientific documents to live/interactive > html files via the `export!` function > * Load markdown files, with a notation for embedding visualizations as > code blocks > * Cljdoc API documentation (https://cljdoc.org/d/metasoarous/oz) > > These features, together with those already built into oz (REPL based > workflow, hiccup support, Reagent components & publishing/sharing API), > make oz a powerful tool for working with data visualizations and scientific > documents from within Clojure, no matter the workflow. I hope you find it > useful. > > > *## Markdown support* > > I'd like to specifically illustrate the markdown support feature, as its > the one I'm most excited to start using myself, as well as the one which > demands the most explanation. > > How many times have you been working on a simple markdown document, and > realized you wanted to add a data visualization to illustrate a point? > What did you have to do to get it done? My guess is you had fire up > another tool, like R's `ggplot`, or Python's `matplotlib`, export a static > figure, and awkwardly embed it into your markdown document, hoping to God > you don't have to update it, and go through the ordeal again. > > With oz, you can simply embed vega-lite or vega visualizations like this: > > # Some markown file > > A data visualization: > > ```edn vega-lite > {:data {:values [{:a 2 :b 3 :c "T"} {:a 5 :b 2 :c "T"} {:a 7 :b 4 :c > "Q"} {:a 3 :b 3 :c "Q"}]} > :mark :point > :width 400 > :encoding {:x {:field "a"} > :y {:field "b"} > :color {:field "c"}}} > ``` > > The `load` function parses the markdown file, and uses the `edn vega-lite` > code block class to determine that the block should be interpreted as a > Vega-Lite visualization. The fact that `edn` is one of the classes here > means that your text editor and other markdown processors (if you push to > GitHub or whatever) will recognize what kind of data it is and highlight it > appropriately. (Thanks to GH users mpcarolin and yogthos for promptly > updating their markdown processing libraries to allow for the specification > of multiple code classes.) > > Once loaded, the corresponding document can be immediately viewed with the > `view!` function, exported to a self-contained html file via `export!`, or > published online with a shareable link via `publish!`. > > This notation allows you to embed as either `json` or `yaml` in lieu of > `edn`, or `vega` in lieu of `vega-lite`. Moreover, `hiccup` can be > embedded (possibly with `[:vega ...]` or `[:vega-lite ...]` nodes), for > when you want more power than Markdown affords, but don't want to resort to > manually writing html in your beautiful Markdown. > > > *## Jupyter notebook support* > > While I personally prefer creating scientific documents from the comfort > of my favorite text editor & REPL setup, I understand the value of the > notebook environment. In fact, my first programming language was > Mathematica, and there's a part of me that holds warm reverie for the > model. Thus, it is with great pleasure that I announce that Oz can now be > used as a go-to for those who enjoy using these environments and wish to be > able to create powerful and interactive data visualizations therein. > > This feature would not have been possible without GH users mikeyford, > keesterbrugge, jtcbrule, cgrand. > Thank you all for your help initiating and piecing together a solution to > the problem(s)! > > For usage details can be found in the README. > > > *## In closing* > > I hope that you find this nexus of features and ideas useful, and that you > help me make Vega, Vega-Lite & Oz a standard part of the Clojure toolkit > for data science. > > Thanks for your time > > Christopher Small > > -- You received this message because you are subscribed to the Google Groups "Clojure" group. To post to this group, send email to clojure@googlegroups.com Note that posts from new members are moderated - please be patient with your first post. To unsubscribe from this group, send email to clojure+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/clojure?hl=en --- You received this message because you are subscribed to the Google Groups "Clojure" group. To unsubscribe from this group and stop receiving emails from it, send an email to clojure+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.