成人午夜视频全免费观看高清-秋霞福利视频一区二区三区-国产精品久久久久电影小说-亚洲不卡区三一区三区一区

JS+html5canvas實現的簡單繪制折線圖效果示例

本文實例講述了JS+html5 canvas實現的簡單繪制折線圖效果。分享給大家供大家參考,具體如下:

創(chuàng)新互聯是一家專業(yè)提供延川企業(yè)網站建設,專注與成都網站建設、網站設計、H5場景定制、小程序制作等業(yè)務。10年已為延川眾多企業(yè)、政府機構等服務。創(chuàng)新互聯專業(yè)的建站公司優(yōu)惠進行中。

1、實例代碼:

<!DOCTYPE html>
<html>
  <head>
    <meta charset='utf-8'>
    <title>畫圖</title>
    <style>
      #divContainer{
        margin-top: 20px;
        text-align: center;
      }
      #cv{
        width: 300px;
        height: 200px;
        border-bottom: 2px solid #000;
        border-left: 2px solid #000;
      }
    </style>
  </head>
  <body>
    <div id="divContainer">
      鋁錠價走勢圖<br/>
      <canvas id="cv">你的設備不支持圖表數據顯示</canvas>
    </div>
    <script>
      (function(){
        window.onload = function(){
          //數據源
          var dict = [
            {x: "2015-04-24", y: 13400},
            {x: "2015-04-25", y: 13380},
            {x: "2015-04-26", y: 13370},
            {x: "2015-04-27", y: 13370},
            {x: "2015-04-28", y: 13380}
          ]
          //數據源提取
          var len = dict.length;
          var xArr = [], yArr = [], tmp_yArr = [];
          for(var i=0; i<len; i++){
            xArr.push(i * 60);
            tmp_yArr.push(dict[i].y);
          }
          var tmp_minY = Math.min.apply(Math, tmp_yArr);//最小值
          var tmp_maxY = Math.max.apply(Math, tmp_yArr);//最大值
          if(tmp_maxY - tmp_minY <= 100){
            for(var i=0; i<len; i++){
              yArr.push(tmp_yArr[i] - tmp_minY + 50);//與最小的做比較
            }
          }
          else{//如果相差太大會導致圖表不美觀
            for(var i=0; i<len; i++){
              yArr.push(tmp_yArr[i] / 500);
            }
          }
          var minY = Math.min.apply(Math, yArr);
          var maxY = Math.max.apply(Math, yArr);
          //canvas 準備
          var canvas = document.getElementById("cv");//獲取canvas畫布
          var ctx = canvas.getContext("2d");
          //畫折線
          for(var i=0 ;i<len; i++){
            var x = xArr[i];
            var y = maxY - yArr[i] + minY;
            if(i === 0){
              ctx .moveTo(x, y);
            }
            else{
              ctx .lineTo(x, y);
            }
          }
          ctx .stroke();
          //畫點
          for(var i=0; i<len; i++){
            var x = xArr[i];
            var y = maxY - yArr[i] + minY;
            var xMemo = dict[i].x;
            var yMemo = "¥" + dict[i].y;
            ctx.beginPath();
            ctx.fillStyle = "#000";
            ctx.arc(x, y, 2, 0, 2*Math.PI);//畫點
            ctx.fill();
            ctx.fillText(yMemo, x + 3, y - 10);
            ctx.fillText(xMemo, x + 3, canvas.height - 10, 40);//畫文字
          }
        }
      })();
    </script>
  </body>
</html>

2、運行效果圖如下:

JS+html5 canvas實現的簡單繪制折線圖效果示例

更多關于JavaScript相關內容感興趣的讀者可查看本站專題:《JavaScript圖形繪制技巧總結》、《JavaScript圖片操作技巧大全》、《JavaScript運動效果與技巧匯總》、《JavaScript切換特效與技巧總結》、《JavaScript錯誤與調試技巧總結》、《JavaScript數據結構與算法技巧總結》、《JavaScript遍歷算法與技巧總結》及《JavaScript數學運算用法總結》

希望本文所述對大家JavaScript程序設計有所幫助。

網站名稱:JS+html5canvas實現的簡單繪制折線圖效果示例
URL標題:http://jinyejixie.com/article12/ggiigc.html

成都網站建設公司_創(chuàng)新互聯,為您提供網站營銷、移動網站建設、ChatGPTApp設計、靜態(tài)網站、云服務器

廣告

聲明:本網站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯

成都seo排名網站優(yōu)化
汾阳市| 繁峙县| 江达县| 方城县| 壤塘县| 临潭县| 宜宾市| 通山县| 磐安县| 沁源县| 日喀则市| 岐山县| 岐山县| 武穴市| 安图县| 房产| 黄陵县| 武鸣县| 南涧| 宣城市| 西青区| 增城市| 新疆| 玛沁县| 宁乡县| 南木林县| 五河县| 奉新县| 永胜县| 罗甸县| 克拉玛依市| 尼木县| 都江堰市| 锡林郭勒盟| 肥西县| 宜兴市| 高邑县| 清苑县| 万山特区| 桂东县| 和林格尔县|