循环以在Javascript中生成数据点
我正在尝试生成两种(或更多)产品的面积图,即驱蚊剂和液体肥皂。我正在使用JavaScript库CanvasJS来实现这一点。问题是,我需要大约2000个数据点,而不是这里的4个硬编码数据点,问题是我无法为两个(或更多)产品生成一个for循环,这将为我实现这一点。有人能帮我创建这个循环吗循环以在Javascript中生成数据点,javascript,for-loop,canvasjs,Javascript,For Loop,Canvasjs,我正在尝试生成两种(或更多)产品的面积图,即驱蚊剂和液体肥皂。我正在使用JavaScript库CanvasJS来实现这一点。问题是,我需要大约2000个数据点,而不是这里的4个硬编码数据点,问题是我无法为两个(或更多)产品生成一个for循环,这将为我实现这一点。有人能帮我创建这个循环吗 var chart = new CanvasJS.Chart("chartContainer", { data: [{ type: "area", name: "Mosqu
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;
}
var mosquitoRepellentsDataPoints=generateDataPoints(10000,40000),
liquidSoapDataPoints=生成的数据点(10000,40000);
var chart=new CanvasJS.chart(“chartContainer”{
数据:[{
类型:“区域”,
名称:“驱蚊剂”,
showInLegend:“正确”,
数据点:蚊虫产卵点
}, {
类型:“区域”,
名称:“液体肥皂”,
showInLegend:“正确”,
数据点:liquidSoapDataPoints
}]
});
函数生成的数据点(下限、上限){
var i,
arr=[],
季节=[‘春天’、‘夏天’、‘秋天’、‘冬天’];
对于(i=0;i<2000;i++){
arr.push({
y:lowerLimit+Math.round(Math.random()*(上限-lowerLimit)),
标签:seasures[Math.floor(Math.random()*seasures.length)]
});
}
返回arr;
}
生成datapoints数组的数据源是什么?此时可以使用Random。最后一个概念是从数据库中获取数据,但这是未来的发展方向。