3. Why give this talk?
β’ MeteorJS allows us to rapidly prototype data driven web
applications
β’ The Web is mostly a graphic medium
o We need meaningful and βprettyβ ways to display the
data in our data driven web apps
β’ We are all lazy
o Making our web apps show stuff as easy as possible
is the whole point
β’ We wanted to learn more about D3
4. What is D3?
β’ "D3 allows you to bind arbitrary data
to a Document Object Model (DOM),
and then apply data-driven
transformations to the document.β
5. What makes D3 worth using?
β Making dynamic vector graphics with standard stuff
β HTML, JS, CSS, SVG
β Simplifying math no one wants to do
β Chart Scaling
β Transitions
β Lots of control
β More than other libs
β More than just charts
β Create SVG graphics dynamically
β Animations
6. What is D3 not good for?
β Quick starts and short attention spans
β Hiding your data
β Sends all data to the front end
β Why bother making a graph?
β Solving every visualization problem
β No canned solutions
β IEβs below 9
β Use non-SVG heavy framework
7. MeteorJS D3 Installation
β’ Simply available as a meteorite package
mrt add d3
β’ Available only as for client side stuff
8. Core D3 Concepts: Selects
β’ D3 selections are just arrays of DOM
o Select doc body elements to attach stuff to
o Select elements you are going to create
β’ Iterate through these arrays to do stuff
d3.select("body").selectAll("p")
9. Core D3 Concepts: Data Binding
β Map data to selected elements, loop
β D3 handles many data types: arrays, dictionaries
data = [1, 2, 3, 4];
d3.select("body").selectAll("p")
.data(data)
.enter()
.append("p")
.text("Paragraph Tag");
β’ Creates 4 new <p>Paragraph Tag</p>
13. Thank You
We will be posting the slides and some of the
code very soon.
https://github.com/ArroyoLabs/meetups
follow us @arroyolabs @saarmstrong @djfingers
arroyolabs.com
Editor's Notes
"The quality that makes you go to great effort to reduce overall energy expenditure.β - Larry Wall, Perl dude