JS 드로잉 Flot 는 어떻게 동적 으로 곡선 도 를 새로 고 칠 수 있 습 니까?

방금 만 든 것 은 정적 인 곡선 그림 으로 데 이 터 를 설정 하면 바로 표시 할 수 있다.다음은 시간 간격 에 따라 새로운 데이터 에 따라 계속 변 하 는 곡선 그래 픽 예제 입 니 다.
마찬가지 로 서로 다른 브 라 우 저 를 호 환 하기 위해 서 는 반드시 세 개의 JS 파일 을 도입 해 야 합 니 다.그렇지 않 으 면 IE 에서 실 행 될 수 없습니다.
일단 효 과 를 볼 게 요!

새로 고침 간격 이 실현 되 는 것 은 바로 특정한 함 수 를 정시 에 호출 하 는 것 입 니 다.이 함 수 는 그림 대상 안의 데 이 터 를 업데이트 하면 됩 니 다.
코드 를 살 펴 보 겠 습 니 다.

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" /> 
<title>Flot    </title> 
<!--[if lte IE 8]><script language="javascript" type="text/javascript" src="excanvas.min.js"></script><![endif]--> 
<script language="javascript" type="text/javascript" src="jquery.js"></script> 
<script language="javascript" type="text/javascript" src="jquery.flot.js"></script> 
<script type="text/javascript"> 
$(function () { 
  //                
  var data = [], totalPoints = 300; 
  //          
  function getRandomData() { 
    if (data.length > 0) 
      datadata = data.slice(1); 
    while (data.length < totalPoints) { 
      var prev = data.length > 0 ? data[data.length - 1] : 50; 
      var y = prev + Math.random() * 10 - 5; 
      if (y < 0) 
        y = 0; 
      if (y > 100) 
        y = 100; 
      data.push(y); 
    } 
    var res = []; 
    for (var i = 0; i < data.length; ++i) 
      res.push([i, data[i]]) 
    return res; 
  } 
  var updateInterval = 30; //      
  //          
  $("#updateInterval").val(updateInterval).change(function () { 
    var v = $(this).val(); 
    if (v && !isNaN(+v)) { 
      updateInterval = +v; 
      if (updateInterval < 1) 
        updateInterval = 1; 
      if (updateInterval > 2000) 
        updateInterval = 2000; 
      $(this).val("" + updateInterval); 
    } 
  }); 
  //        
  var options = { 
    series: { shadowSize: 0 }, //       ,      0 
    yaxis: { min: 0, max: 100 }, // Y          
    xaxis: { show: false } //     X   
  }; 
  //         :    、  、   
  var plot = $.plot($("#placeholder"), [ getRandomData() ], options); 
  function update() { 
    //        ,            
    plot.setData([ getRandomData() ]); //      
    //      ,     plot.setupGrid() 
    plot.draw(); 
    //      
    setTimeout(update, updateInterval); 
  } 
  //      
  update(); 
}); 
</script> 
</head> 
<body> 
<div id="placeholder" style="width:600px;height:300px;"></div> 
<br><br> 
      :<input id="updateInterval" type="text" value="" style="text-align: right; width:5em"> 
</body> 
</html> 
새로 고침 간격 을 입력 하면 그림 그리 기 속도 가 조 정 됩 니 다.이상 의 예 는 정부 에서 왔 으 니 수정 을 적 게 하고 주석 을 달 아 일부 사람들 에 게 도움 이 되 기 를 바 랍 니 다.
이상 이 바로 본 고의 모든 내용 입 니 다.여러분 의 학습 에 도움 이 되 고 저 희 를 많이 응원 해 주 셨 으 면 좋 겠 습 니 다.

좋은 웹페이지 즐겨찾기