I am opting for either Python or JavaScript. What do you suggest and why?
I found Python's matplotlib to be fairly good. It is very powerful and customizable, the plots look pretty professional and the interface is not horrible (use the object way, not the matlab way, e.g. call ax.set_xlabel(...) not set_xlabel(...) and hope it's the correct axis). It can do animations and interactivity, but it's far from spectacular. Defaults aren't always great (seaborn extension helps with that) but overall one of the best options. Performance isn't great either compared to eg gnuplot, but for static images it rarely matters. Plus Python is already really popular for data analysis, so it's a nice combination.
I'm less familiar with D3/C3. If you're running dynamically in a browser, you have to use javascript (maybe webassembly will have some plotting libraries soon?), python is not available, so it's easy. On a desktop or server, I like Python better, both as a langauge and the extensive plotting library. (I imagine performance isn't great here either).
Both have strengths. If you want some fast prototypes python is good. If you want some interactivity and deploy on the web, then go for javascript.
Sébastien Portebois
Software architect at Ubisoft
It's a different beat, but R + dplyr + ggplot2 (or the built-in lattice and plot libs) are so much expressive, concise and efficient than other things like Python's matplotlib. The challenge is to get started with R. But then, every time you need to use another language (because it needs to run in another context, another scale) I regret the ease and fluent code dplyr+ggplot2 provide to explore datasets visually!
You can get an idea here (or google it, there are so many resources!) ramnathv.github.io/pycon2014-r/visualize/ggplot2.…
The fact is that it's based on the ifluencial grammar of graphics principles.
And other libraries use the same principles. The idea is to separate your data from the geometries and aesthetics features. Vega is a set of specs (which I never had to use but looks really great, similar to ggplot2) and has ports is various languages, one of them being javascript: github.com/vega/vega-lite