Yeah, I've been using CL+Maxima+Jupyter for my maths, etc.; will be really
nice to start doing some of that in Clojure ... thanks!

d

On Wed, Jan 23, 2019 at 11:37 AM Christopher Small <metasoar...@gmail.com>
wrote:

> Thank you both for the feedback! I'm really happy to be able to empower
> our budding Clojure Data Science community.
>
>
>
> On Wednesday, January 23, 2019 at 7:38:04 AM UTC-8, Chris Nuernberger
> wrote:
>>
>> Great improvements Christopher!  The markdown and Jupyter support are
>> exactly the direction I was hoping for and we really appreciate the work.
>>
>> On Wed, Jan 23, 2019 at 1:26 AM Christopher Small <metas...@gmail.com>
>> 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 clo...@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+u...@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+u...@googlegroups.com.
>>> For more options, visit https://groups.google.com/d/optout.
>>>
>> --
> 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.
>

-- 
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.

Reply via email to