Could someone help me out and have a look at the errors that the codechecker presents?
https://codepen.io/hirodashi/pen/QxbBbm
axios
.get(
"https://raw.githubusercontent.com/freeCodeCamp/ProjectReferenceData/master/GDP-data.json"
)
.then(function(response) {
renderGraph(response.data.data);
// console.log(response.data);
})
.catch(function(error) {
console.log(error);
});
const renderGraph = function(dataset) {
const w = 1000;
const h = 500;
const unscaledGDPData = dataset.map(datapair => datapair[1]);
let scaledGDPData = [];
const annualData = dataset.map(datapair => datapair[0]);
const annualDataSimple = dataset.map(datapair => parseInt(datapair[0].substring(0,4)));
const minGDP = d3.min(unscaledGDPData);
const maxGDP = d3.max(unscaledGDPData);
const minAnnual = d3.min(annualDataSimple);
const maxAnnual = d3.max(annualDataSimple);
const padding = 50;
const barWidth = (w - padding * 2) / dataset.length;
const linearScale = d3.scaleLinear()
.domain([minGDP, maxGDP])
.range([(minGDP/maxGDP) * h, h - padding * 2]);
scaledGDPData = unscaledGDPData.map(function(item) {
return linearScale(item);
});
const xScale = d3.scaleLinear()
.domain([minAnnual,maxAnnual])
.range([padding, w - padding]);
var yAxisScale = d3.scaleLinear()
.domain([minGDP,maxGDP])
.range([ h - padding,padding]);
const svg = d3
.select("#chartContainer")
.append("svg")
.attr("id", "chart")
.attr("width", w)
.attr("height", h);
const barGroup = svg.append('g')
.attr('transform','translate('+ padding + ',' + -padding + ')')
const bars = barGroup.selectAll("rect")
.data(scaledGDPData)
.enter()
.append("rect")
const barAttributes = bars
.attr("class", "bar")
.attr("x", (d, i) => i * barWidth)
.attr("y", d => h - d )
.attr("width", barWidth)
.attr("height", d => d)
.attr("data-date", (d,i) => annualData[i])
.attr("data-gdp", (d,i) => (unscaledGDPData[i]))
.on('mouseover', function(d, i) {
tooltip.style('left', i * barWidth)
.style("opacity","1")
.html("$" + unscaledGDPData[i] + " Billions <br> " + annualData[i] )
.attr("data-date", (d,i) => annualData[i])
.attr("data-gdp", (d,i) => (unscaledGDPData[i]))
})
.on('mouseout', function(d, i) {
tooltip.style("opacity","0")
});
const tooltip = d3.select('#chartContainer')
.append('div')
.attr('id','tooltip')
const xAxis = d3.axisBottom(xScale);
const yAxis = d3.axisLeft(yAxisScale);
svg.append("g")
.attr("transform", "translate(0," + (h - padding) + ")")
.attr('id','x-axis')
.call(xAxis);
svg.append("g")
.attr("transform", "translate(" + padding +",0)")
.attr('id','y-axis')
.call(yAxis);
};