data = {
switch (dataSource) {
case "squared":
return d3.range(1901, 2020, 1).map(year => ({
year,
value: ((year - 1930) / 10) ** 2
}));
case "sinusoid":
return d3.range(1901, 2020, 0.2).map(year => ({
year,
value: 10 + 5 * Math.sin(year / 5)
}));
case "log":
return d3.range(1901, 2020, 2).map(year => ({
year,
value: 2 * Math.log(year - 1900) + .5 * Math.random()
}));
case "staircase":
return d3.range(1901, 2020, 3).map(year => ({
year,
value: (year / 30) | 0
}));
case "combined":
return d3.range(1901, 2020, 0.2).map(year => ({
year,
value: year / 5 + 5 * Math.sin(year / 5) + Math.random()
}));
default:
return data0;
}
}