D3
OG
Old school D3 from simpler times
All examples
By author
By category
About
iamvictorli
Full window
Github gist
Simple Scale and Axis
Built with
blockbuilder.org
<!DOCTYPE html> <head> <meta charset="utf-8"> <script src="https://d3js.org/d3.v5.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> var city = 'San Francisco'; var width = 900; var height = 300; d3.tsv('data.tsv').then(data => { // Clean data data.forEach(d => { d.date = new Date(d.date); // x d[city] = +d[city]; // y }); // get min/max var min = d3.min(data, d => d[city]); var max = d3.max(data, d => d[city]); console.log(min, max); // using extent var extent = d3.extent(data, d => d[city]); console.log(extent); // scale var yScale = d3.scaleLinear() .domain(extent) .range([height, 0]); var yAxis = d3.axisLeft() .scale(yScale); var axis = d3.select('svg').append('g') .attr('transform', 'translate(40, 20)') .call(yAxis); var text = axis.selectAll('text') .attr('fill', function (d) { return d === 64 ? 'red' : 'blue'; }); console.log(axis.node()); console.log(text.data()); }); </script> </body>
https://d3js.org/d3.v5.min.js