iPython Notebook / d3.js mashup

While I have been using ipython for a long time, I never really it more than just checking whether some code snippets working as expected. (Well, I tried to play with the parallel computing framework with ipython, but I never put it into production.) Just recently, I start to look into the ipython web-based notebook feature more carefully. It is great and make me think the ipython will make a python programmer or someone uses python for data analysis much more productive. (I used to envy the “RStudio” in the R-lang land, now, we python programmer finally have something more competitive.)

The cool thing using a web page as front-end is there are a lot potential using web interface for some cool visualization. I played with protovis.js a while ago. Recently, I went to a visualization meets-up, d3.js was mentioned a numbers of time. Then the idea comes to my mind “is it possible to combine the best of two world, python and d3.js?” After consulting some more experience users in the ipython-dev mailing list to see what is possible, I decided to spend some of my weekend time to hack it around. In the meantime, I get the chance to play with tornado, zero-mq and websocket, all the fun stuff these days. At the end, I am able to pass some javascript code written within the ipython notebook to get the browser to execute it and show some animation with d3.js. This will enable to create more fancier visualization in an interactive way all in a browser.

My weekend hacking results are hosted at github . I think there is a great potential to make thing like this working better. (For example, can we have a pythonic backend of d3.js? 🙂 ) It definitely worth to mess it around to see more use like this.

6 thoughts on “iPython Notebook / d3.js mashup

  1. Pingback: 【D3相关资料整理】持续更新中…… | riaos

  2. Pingback: 【D3相关资料整理】持续更新中…… | 前端web(web.riaos.com)

  3. Pingback: Over 2000 D3.js Examples and Demos | TechSlides

  4. Pingback: D3: visualization | coding beacon

Leave a Comment

Your email address will not be published. Required fields are marked *

This blog is kept spam free by WP-SpamFree.