Javascript 如何使用canvas js在特定条件下停止绘制活动图形
这是绘制活动图形的代码。它以概率为基础绘制。我希望在满足条件后立即退出图形的绘制Javascript 如何使用canvas js在特定条件下停止绘制活动图形,javascript,html,canvasjs,Javascript,Html,Canvasjs,这是绘制活动图形的代码。它以概率为基础绘制。我希望在满足条件后立即退出图形的绘制 <script> window.onload = function () { var dps = []; // dataPoints var chart = new CanvasJS.Chart("chartContainer", { title :{ text: "Dynamic Data" }, axisY:
<script>
window.onload = function ()
{
var dps = []; // dataPoints
var chart = new CanvasJS.Chart("chartContainer", {
title :{
text: "Dynamic Data"
},
axisY: {
includeZero: false
},
data: [{
type: "line",
dataPoints: dps
}]
});
var xVal = 0;
var yVal = 100;
var updateInterval = 1000;
var dataLength = 20; // number of dataPoints visible at any point
var weights = [0.7, 0.3]; // probabilities
var results = [1, 50];//values to plot
var y=[];
var updateChart = function (count)
{
count = count || 1;
for (var j = 0; j < count; j++)
{
yVal = getRandom();
y.push(yVal)//push to array y
dps.push({
x: xVal,
y: yVal
});
xVal++;
}
if (dps.length > dataLength)
{
dps.shift();
}
if((y.length>4) && (y[y.length-2]==50) && (y[y.length-1]==50) )//condition to exit
{
myFunction();
}
chart.render();
};
updateChart(dataLength);//function call
setInterval(function(){updateChart()}, updateInterval);
// returns 1 or 50 based on probability given above.
function getRandom ()
{
var num = Math.random(),
s = 0,
lastIndex = weights.length - 1;
for (var i = 0; i < lastIndex; ++i) {
s += weights[i];
if (num < s) {
return results[i];
}
}
return results[lastIndex];
};
function myFunction() {
alert("I am an alert box!");//alert and should exit the plot
//code to be written
}
}
</script>
window.onload=函数()
{
var dps=[];//数据点
var chart=new CanvasJS.chart(“chartContainer”{
标题:{
文本:“动态数据”
},
axisY:{
包括:错
},
数据:[{
键入:“行”,
数据点:dps
}]
});
var xVal=0;
var-yVal=100;
var updateInterval=1000;
var dataLength=20;//任意点可见的数据点数量
变量权重=[0.7,0.3];//概率
var results=[1,50];//要打印的值
变量y=[];
var updateChart=函数(计数)
{
计数=计数| | 1;
对于(var j=0;jdataLength)
{
dps.shift();
}
如果((y.length>4)&&(y[y.length-2]=50)&&(y[y.length-1]=50))//条件退出
{
myFunction();
}
chart.render();
};
updateChart(dataLength);//函数调用
setInterval(函数(){updateChart()},updateInterval);
//根据上面给出的概率返回1或50。
函数getRandom()
{
var num=Math.random(),
s=0,
lastIndex=权重。长度-1;
对于(变量i=0;i
图形是连续绘制的。有没有办法停止动态绘图?
当条件满足且遇到警报时,如何停止绘图
提前感谢。您的图表将通过setInterval每秒更新一次: 您可以使用clearInterval“取消设置”此间隔,但您需要此间隔的间隔id,这是通过setInterval:[1]获得的
var intervalId = setInterval( updateChart, updateInterval );
然后,当您的条件为真时(签入updateChart):
[1] 有关clearInterval的更多信息:
var intervalId = setInterval( updateChart, updateInterval );
clearInterval( intervalId );