http://www.jeromecukier.net/blog/2013/03/05/d3-tutorial-at-strata-redux/
transition parameter inheritance d3/d3#400 (comment)
DRYing up D3 http://urbanairship.com/blog/2013/07/11/drying-up-d3
var getSelectedText = function() { | |
var txt = ""; | |
if (window.getSelection) { | |
txt = window.getSelection().toString(); | |
} else if (document.selection && document.selection.type != "Control") { | |
txt = document.selection.createRange().text; | |
} | |
return txt; | |
}; |
http://design-seeds.com/ | |
http://www.colourlovers.com/palettes/most-loved/past-month/ |
http://www.jeromecukier.net/blog/2013/03/05/d3-tutorial-at-strata-redux/
transition parameter inheritance d3/d3#400 (comment)
DRYing up D3 http://urbanairship.com/blog/2013/07/11/drying-up-d3
muniNow aims to be a nicer NextMuni by giving users the ability to see when the soonest Muni bus is arriving at a glance.
Powered by D3, built at Catalyst/Hack Reactor as a personal project. And many thanks to Mike and Adnan.
al lin, aug. 2013
The basics of drawing data-driven arcs by using values to determine the arc length. Very stripped down to give beginners an idea of how to draw and color shapes using the accessor functions in D3. For transitions and tweens, check out Bostock's well-annotated example, or my second arc example.
Idea was used for my SF Muni webapp (gist).
al lin, aug. 2013
Click on the grey circles. The green arcs will transition using attr
, whereas the red ones will use the attrTween
method.
If you have not seen/read Bostock's arc tween example, it's probably the best place to start. Secondly, I've posted up a basic example of drawing static, concentric arcs (gist), which might be helpful before adding on tweens/animations.
Below is some annotated source code from my experience playing with arcs. The biggest issue I came across was understanding the role of the arcTween
helper function in relation to attrTween
. Unlike attr
, which takes a value as its second argument, attrTween
requires a helper function, arcTween
, which will be called during the intermediary animation ticks. This method was used for my [muniNow project](http
// Express CORS middleware.. so much easier than trying to get Restify to work | |
var allowCrossDomain = function(req, res, next) { | |
res.header('Access-Control-Allow-Origin', '*'); | |
res.header('Access-Control-Allow-Methods', 'GET,PUT,POST,DELETE'); | |
res.header('Access-Control-Allow-Headers', 'X-Requested-With, Accept, Origin, Referer, User-Agent, Content-Type, Authorization'); | |
// intercept OPTIONS method | |
if (req.method === 'OPTIONS') { | |
res.send(200); |
<!DOCTYPE html> | |
<meta charset="utf-8"> | |
<style> | |
.graticule { | |
fill: none; | |
stroke: #777; | |
stroke-opacity: .5; | |
stroke-width: .5px; | |
} |
// quicksort using new arrays is easy, but surprisingly, there weren't too many examples | |
// in javascript of in-place quick sort... | |
// the outer function is simply just a wrapper that copies the original array; | |
// you can just use lines 12-37 if preserving the original array isn't important | |
function quickSortInPlace(unsortedArray) { | |
var unsorted = unsortedArray.slice(); // copy the original array |
view on bl.ocks.org
github repo
D3 visualisation utilising D3's text/CSV to read/parse a CSV file with restaurant information and display which restaurants are currently open.
Users can drag the time (red line) to display restaurants open at other hours.