[ Launch: Tributary inlet ] a8ca0fd977797f83f202 by nicohaemhouts
-
-
Save nicohaemhouts/a8ca0fd977797f83f202 to your computer and use it in GitHub Desktop.
Scrolling line chart
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| {"description":"Scrolling line chart","endpoint":"","display":"svg","public":true,"require":[],"fileconfigs":{"inlet.js":{"default":true,"vim":false,"emacs":false,"fontSize":12},"style.css":{"default":true,"vim":false,"emacs":false,"fontSize":12},"_.md":{"default":true,"vim":false,"emacs":false,"fontSize":12},"config.json":{"default":true,"vim":false,"emacs":false,"fontSize":12}},"fullscreen":false,"play":false,"loop":false,"restart":false,"autoinit":true,"pause":true,"loop_type":"pingpong","bv":false,"nclones":15,"clone_opacity":0.4,"duration":3000,"ease":"linear","dt":0.01,"ajax-caching":true,"thumbnail":"http://i.imgur.com/ld2w2LR.png"} |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| //based on this: http://bost.ocks.org/mike/path/ | |
| var n = 40, | |
| random = d3.random.normal(0, .2); | |
| var transition = d3.select({}).transition() | |
| .duration(750) | |
| .ease("linear"); | |
| chart([0, n - 1], "linear", function tick(path, line, data, x) { | |
| transition = transition.each(function() { | |
| // push a new data point onto the back | |
| data.push(random()); | |
| // redraw the line, and then slide it to the left | |
| path | |
| .attr("d", line) | |
| .attr("transform", null) | |
| .transition() | |
| .attr("transform", "translate(" + x(-1) + ")"); | |
| // pop the old data point off the front | |
| data.shift(); | |
| }).transition().each("start", function() { tick(path, line, data, x); }); | |
| }); | |
| function chart(domain, interpolation, tick) { | |
| var data = d3.range(n).map(random); | |
| var margin = {top: 6, right: 0, bottom: 6, left: 40}, | |
| width = 960 - margin.right, | |
| height = 120 - margin.top - margin.bottom; | |
| var x = d3.scale.linear() | |
| .domain(domain) | |
| .range([0, width]); | |
| var y = d3.scale.linear() | |
| .domain([-1, 1]) | |
| .range([height, 0]); | |
| var line = d3.svg.line() | |
| .interpolate(interpolation) | |
| .x(function(d, i) { return x(i); }) | |
| .y(function(d, i) { return y(d); }); | |
| var svg = d3.select("svg") | |
| .attr("width", width + margin.left + margin.right) | |
| .attr("height", height + margin.top + margin.bottom) | |
| .style("margin-left", -margin.left + "px") | |
| .append("g") | |
| .attr("transform", "translate(" + margin.left + "," + margin.top + ")"); | |
| svg.append("defs").append("clipPath") | |
| .attr("id", "clip") | |
| .append("rect") | |
| .attr("width", width) | |
| .attr("height", height); | |
| svg.append("g") | |
| .attr("class", "y axis") | |
| .call(d3.svg.axis().scale(y).ticks(5).orient("left")); | |
| var path = svg.append("g") | |
| .attr("clip-path", "url(#clip)") | |
| .append("path") | |
| .datum(data) | |
| .attr("class", "line") | |
| .attr("d", line); | |
| tick(path, line, data, x); | |
| } |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| .x.axis line { | |
| shape-rendering: auto; | |
| } | |
| .line { | |
| fill: none; | |
| stroke: #000; | |
| stroke-width: 1.5px; | |
| } |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment