addDataToChart = function(g) {
minMaxData.forEach(minMax => {
g.selectAll(".euMinMax")
.data(minMax)
.enter()
.append("line")
.attr("stroke", "lightgrey")
.attr("stroke-width", 10)
.attr('x1', d => scatterX(d.country))
.attr('x2', d => scatterX(d.country))
.attr('y1', d => scatterY(d.max))
.attr('y2', d => scatterY(d.min));
});
citiesData.forEach(plot => {
g.selectAll(".cities")
.data(plot)
.enter()
.append("circle")
.filter(function(d) {
return d.value !== 0 && d.value !== null;
})
.attr("cx", function(d) {
return scatterX(d.name);
})
.attr("cy", function(d) {
return scatterY(d.value);
})
.attr('r', 5)
.attr('fill', "blue");
});
townsData.forEach(plot => {
g.selectAll(".towns")
.data(plot)
.enter()
.append("circle")
.filter(function(d) {
return d.value !== 0 && d.value !== null;
})
.attr("cx", function(d) {
return scatterX(d.name);
})
.attr("cy", function(d) {
return scatterY(d.value);
})
.attr('r', 5)
.attr('fill', "orange");
});
ruralData.forEach(plot => {
g.selectAll(".rural")
.data(plot)
.enter()
.append("circle")
.filter(function(d) {
return d.value !== 0 && d.value !== null;
})
.attr("cx", function(d) {
return scatterX(d.name);
})
.attr("cy", function(d) {
return scatterY(d.value);
})
.attr('r', 5)
.attr('fill', "green");
});
}