D3
OG
Old school D3 from simpler times
All examples
By author
By category
About
jbelmont
Full window
Github gist
Shapes
Built with
blockbuilder.org
<!DOCTYPE html> <head> <meta charset="utf-8"> <script src="https://d3js.org/d3.v4.min.js"></script> <style> body { margin:0;position:fixed;top:0;right:0;bottom:0;left:0; } svg { width: 100%; height: 100%; } </style> </head> <body> <svg></svg> <script> const city = 'San Francisco'; const width = 800; const height = 300; // dataset of city temperatures across time d3.json('data.json', (err, data) => { // clean the data data.forEach(d => { d.date = d3.timeParse("%Y%m%d")(d.date); d.date = new Date(d.date); d[city] = d[city] + 1; }); var xExtent = d3.extent(data, d => d.date); var xScale = d3.scaleTime() .domain(xExtent).range([0, width]); var xAxis = d3.axisBottom().scale(xScale) var yExtent = d3.extent(data, d => d[city]); var yScale = d3.scaleLinear() .domain(yExtent).range([height, 0]); var yAxis = d3.axisLeft() .scale(yScale); var svg = d3.select('svg').append('g') .attr('transform', 'translate(40, 20)'); var line = d3.line() .x(d => xScale(d.date)) .y(d => yScale(d[city])); svg.selectAll('path') .data([data]).enter().append('path') .attr('d', line) .attr('fill', 'none') .attr('stroke', 'blue'); }); </script> </body>
https://d3js.org/d3.v4.min.js