
A Linguistic Introduction to D3 - mox111
https://medium.freecodecamp.org/a-linguistic-introduction-to-d3-js-7a40a980bf97?source=friends_link&sk=9de00ebcc6ceffcb0570982ce1799660
======
fouronnes3
I have a dataviz side project, and I'm curious to learn d3 to improve the web
rendering. Right now I'm generating png images with matplotlib and showing
those with <img>. It's very decent, but it would be much better with svg or
html. The task looks daunting though because it sounds like what I actually
need to learn is 3 separate languages: d3, SVG and javascript. Then redo all
the fine tuning of styles and themes I did in plt again. A lot of work.

~~~
GlennS
You could start by rendering static images in SVG as a first step?

Vega [https://vega.github.io/vega/](https://vega.github.io/vega/) or vega-lite
[https://vega.github.io/vega-lite/examples/](https://vega.github.io/vega-
lite/examples/) might also be good intermediate step.

Those are based on writing a declarative description of the chart(s) you want
in a domain specific languag. They will be less flexible than d3, but should
make it simpler to get good results as long as you don't want anything too
custom.

Disclaimer: I haven't used them myself, but they are from the same university
research group that Mike Bostock (d3 author) used to be in, and I have seen
him plugging them.

You will likely find any of these approaches quite different to matplotlib.
Hopefully in a good way.

Despite having suggested these alternatives, I would actually strongly
recommend learning d3. It's _really_ good.

~~~
edwinyzh
Thanks, I like how simple and concise the declarative code is!

------
n1000
Can anyone recommend a data visualisation course that is based on D3?

~~~
saintPirelli
Anything by Shirley Wu.

~~~
wodenokoto
While she looks accomplished, it doesn't look like she does any teaching, so
why recommend her?

~~~
rhcom2
[https://frontendmasters.com/teachers/shirley-
wu/](https://frontendmasters.com/teachers/shirley-wu/)

------
barryp
Nice! Very timely for me too, I was just doing some D3 stuff this morning, and
this very clearly explained what's going on under the hood.

I was definitely in the "copy/paste pieces of code from various snippets over
at bl.ocks.org, cross my fingers and hope for the best." camp. It makes much
more sense now.

