First of many reusable charts. Bar chart this time. Going to make resizable later.
xxxxxxxxxx
<body>
<script src="//d3js.org/d3.v5.min.js"></script>
<script src="barChart.js"></script>
<div id="example"></div>
<script>
d3.csv('data.csv').then(function(data) {
data.forEach(d => {
d.date = new Date(d.date);
d.price = +d.price;
})
var nest = d3.nest()
.key(d => d.date.getFullYear())
.rollup(d => d3.sum(d, v => v.price))
.entries(data);
var chart = barChart()
.x('key').y('value')
.title('Chart 1');
d3.select('#example')
.datum(nest)
.call(chart);
console.log(nest)
})
</script>
</body>
https://d3js.org/d3.v5.min.js