barChart = {
const svg = d3.create('svg').attr('viewBox',[0, 0, layout.width, layout.height])
const g = svg.append('g').attr('transform',`translate(${layout.margin.left},${layout.margin.top})`)
let bars = g.append('g')
.selectAll('g')
.data(first_n_data)
.join('g')
.append('rect')
.attr("x", d => xScaleBand(d[0]))
.attr("y", d => yScale(d[1]['goal_score']) )
.attr('width', xScaleBand.bandwidth())
.attr('height', d => layout.innerHeight - yScale(d[1]['goal_score']))
.attr("fill", "#1f77b4")
g.append('g').attr('transform',`translate(0,${layout.innerHeight})`).call(xAxis)
.call(g=>{
g.selectAll('text')
.attr('text-anchor', 'start')
.attr('transform', `translate(10,0) rotate(${rotate})`)
})
g.append('g').call(yAxis)
return svg.node()
}