On Github gelicia / D3TCCC14
Kristina Durivage (@gelicia)
Resources at the end
What and why? What are the goals?
Invested time skews perception. Iterate, prototype
Be curious, be ready to answer questions
Short story - all D3.js does is bind objects to data
Works with anything graphical - svg is the most common, but canvas, divs, etc can be used
Programming exampleTransitions are very easy
svg.selectAll("#popBar")
.attr({
fill: color1
})
.transition()
.duration(1000)
.ease("bounce")
.attr({
fill: color2
});
GeoJSON to get the file, D3 can read it in
The only problem is the projection numbers - Github
var geoJson = d3.json("data/minneapolis.geojson", function(collection) {
neigh
.selectAll("path")
.data(collection.features)
.enter()
.append("path")
.attr(
{
"d" : path,
fill : "#666666",
stroke : "#000000"
}
);
});
Google, Enjalot Mixtapes
IRC - #d3.js on Freenode
Other contests (Github)
Tech.mn - Hackathons, etc
Open Twin Cities' List of Data Sources
Ask!
SQL-ish way to get data in Javascript (aggregations, filters)
Delimited, XML, JSON, custom parsing
var dataSet = new Miso.Dataset({
url : 'http://api.remote.com/something',
interval: 10000,
sync: true,
jsonp : true,
resetOnFetch: true
});
dataSet.fetch({
success : function() {
this.each(
function(row){
row.attribute;
});
}
});
Also works for functions that need to return things
var functionAPromise = functionA();
functionAPromise.done(
function(){
functionB();
}
);
function functionA(){
var def = $.Deferred();
//do things
def.resolve();
return def.promise();
}
NVD3 - Still uses Javascript, just simplified
Vega - Define chart in JSON
Rickshaw - Simplified time series charts
Cubism - Simplified realtime monitoring time series charts
The Functional Art by Alberto Cairo
Processing - Easy to learn
Twitter / Github @gelicia
kdurivage@gelicia.com
Presentation will be there