循环以在 Javascript 中生成数据点
Loop in order to generate data points in Javascript
我正在尝试为两种(或更多)产品生成面积图,即驱蚊剂和皂液。我正在使用 JavaScript 库 CanvasJS 来做到这一点。问题是我需要大约 2000 个数据点而不是这里硬编码的 4 个数据点,问题是我无法为两个(或更多)产品生成 for 循环来为我执行此操作。谁能帮我创建这个循环?
var chart = new CanvasJS.Chart("chartContainer", {
data: [{
type: "area",
name: "Mosquito Repellents",
showInLegend: "true",
dataPoints: [{
y: 83450,
label: "spring"
}, {
y: 51240,
label: "summer"
}, {
y: 64120,
label: "fall"
}, {
y: 71450,
label: "winter"
}
]
}, {
type: "area",
name: "Liquid Soap",
showInLegend: "true",
dataPoints: [{
y: 20140,
label: "spring"
}, {
y: 30170,
label: "summer"
}, {
y: 24410,
label: "autumn"
}, {
y: 38120,
label: "fall"
}
]
}]
});
可以使用Math.random函数和一个函数来搞定。
该函数采用两个参数来设置随机 y 值的下限和上限。
var mosquitoRepellentsDataPoints = generateDataPoints(10000, 40000),
liquidSoapDataPoints = generateDataPoints(10000, 40000);
var chart = new CanvasJS.Chart("chartContainer", {
data: [{
type: "area",
name: "Mosquito Repellents",
showInLegend: "true",
dataPoints: mosquitoRepellentsDataPoints
}, {
type: "area",
name: "Liquid Soap",
showInLegend: "true",
dataPoints: liquidSoapDataPoints
}]
});
function generateDataPoints(lowerLimit, upperLimit) {
var i,
arr = [],
seasons = ['spring', 'summer', 'fall', 'winter'];
for (i = 0; i < 2000; i++) {
arr.push({
y: lowerLimit + Math.round(Math.random() * (upperLimit - lowerLimit)),
label: seasons[Math.floor(Math.random() * seasons.length)]
});
}
return arr;
}
我正在尝试为两种(或更多)产品生成面积图,即驱蚊剂和皂液。我正在使用 JavaScript 库 CanvasJS 来做到这一点。问题是我需要大约 2000 个数据点而不是这里硬编码的 4 个数据点,问题是我无法为两个(或更多)产品生成 for 循环来为我执行此操作。谁能帮我创建这个循环?
var chart = new CanvasJS.Chart("chartContainer", {
data: [{
type: "area",
name: "Mosquito Repellents",
showInLegend: "true",
dataPoints: [{
y: 83450,
label: "spring"
}, {
y: 51240,
label: "summer"
}, {
y: 64120,
label: "fall"
}, {
y: 71450,
label: "winter"
}
]
}, {
type: "area",
name: "Liquid Soap",
showInLegend: "true",
dataPoints: [{
y: 20140,
label: "spring"
}, {
y: 30170,
label: "summer"
}, {
y: 24410,
label: "autumn"
}, {
y: 38120,
label: "fall"
}
]
}]
});
可以使用Math.random函数和一个函数来搞定。 该函数采用两个参数来设置随机 y 值的下限和上限。
var mosquitoRepellentsDataPoints = generateDataPoints(10000, 40000),
liquidSoapDataPoints = generateDataPoints(10000, 40000);
var chart = new CanvasJS.Chart("chartContainer", {
data: [{
type: "area",
name: "Mosquito Repellents",
showInLegend: "true",
dataPoints: mosquitoRepellentsDataPoints
}, {
type: "area",
name: "Liquid Soap",
showInLegend: "true",
dataPoints: liquidSoapDataPoints
}]
});
function generateDataPoints(lowerLimit, upperLimit) {
var i,
arr = [],
seasons = ['spring', 'summer', 'fall', 'winter'];
for (i = 0; i < 2000; i++) {
arr.push({
y: lowerLimit + Math.round(Math.random() * (upperLimit - lowerLimit)),
label: seasons[Math.floor(Math.random() * seasons.length)]
});
}
return arr;
}