<thead id="kdfuf"><font id="kdfuf"></font></thead>
<samp id="kdfuf"></samp>
    <nav id="kdfuf"><strong id="kdfuf"></strong></nav>
      中文字幕无码一区二区三区在线,久久精品人人做人人爽,国产一级内射无挡观看,十八禁在线黄色网站,日韩欧美国产另类久久久精品 ,少妇人妻偷人精品一区二区,久久午夜视频,亚洲春色AⅤ无码专区

      Echarts 動態更新散點圖

      2019-6-17    seo達人

      如果您想訂閱本博客內容,每天自動發到您的郵箱中, 請點這里

       最近遇到一個作業,要求使用 Echarts 散點圖,本來這個圖是很容易的,官網上也有很多的教程。但是如果可以動態的更新 Echarts 散點圖就更好了。我本身對 js 不感興趣,經過不停的查找資料最終實現了這一功能。
      我的項目是 Servlet + jsp + Echarts。先從 Servlet 入手,我們的項目需要傳遞的數值是 x 坐標和 y 坐標。我首先寫了一個 JavaBean

      julie.java

      package JavaBean;

      public class julei {
          public julei(double x, double y) {
              this.x = x;
              this.y = y;
          }
          double x;

          public double getX() {
              return x;
          }

          public void setX(double x) {
              this.x = x;
          }

          public double getY() {
              return y;
          }

          public void setY(double y) {
              this.y = y;
          }

          double y;

          @Override
          public String toString() {
              return "[" + this.x + "," + this.y + "]";
          }
      }


      Servlet中的代碼,因為使用的是 json 來傳遞的數據,所以 json 相關的包還是少不了的。
      BackServlet

      package Servlet;

      import JavaBean.Readtxt;
      import JavaBean.julei;
      import org.json.JSONArray;
      import org.json.JSONObject;

      import java.io.IOException;
      import java.io.PrintWriter;
      import java.util.ArrayList;
      import java.util.HashMap;
      import java.util.List;
      import java.util.Map;

      @javax.servlet.annotation.WebServlet("/BackServlet")
      public class BackServlet extends javax.servlet.http.HttpServlet {
          protected void doPost(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response) throws javax.servlet.ServletException, IOException {



              List<julei> list = new ArrayList<>();
              try {
                  list = Readtxt.out();//這是我們項目中的一個類,不重要。
              }catch (Exception e)
              {
                  System.out.println(e.toString());
              }


              JSONArray jsonArray = new JSONArray(list);
              System.out.println(jsonArray.toString());
              //最重要的就是這一句,將數據發送給誰來申請的位置
              response.getWriter().write(jsonArray.toString());


          }

          protected void doGet(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response) throws javax.servlet.ServletException, IOException {

          }
      }


      好了,現在到了最重要的前端方面了。
      index.jsp
      正常聲明散點圖,只要把data聲明為空就好。

        var myChart = echarts.init(document.getElementById('man'));
                var option = {
                  title : {
                    text: '死亡分布圖',
                  },
                  xAxis: {axisTick: {//決定是否顯示坐標刻度
                      alignWithLabel: true,
                      show:true
                    },},
                  yAxis: {},
                  series: [{
                    symbolSize: 20,
                    data: [],
                    type: 'scatter'
                  }]
                };
                myChart.setOption(option);

      數據接收部分:

      var num = [];
                var gao = new Array();
                $.ajax({
                  type : "post",
                  async : true, //異步請求(同步請求將會鎖住瀏覽器,其他操作須等請求完成才可執行)
                  url : "BackServlet", //請求發送到TestServlet
                  data : {},
                  dataType : "json", //返回數據形式為json

                  //7.請求成功后接收數據name+num兩組數據
                  success : function(result) {
                    //result為服務器返回的json對象
                    if (result) {
                      //8.取出數據存入數組

                      for (var i = 0; i < result.length; i++) {

                        gao.push([result[i].x,result[i].y]);//這一句很重要,它將數據轉化為了正確的格式。

                      }

                      myChart.hideLoading(); //隱藏加載動畫

                      //9.覆蓋操作-根據數據加載數據圖表
                      myChart.setOption({
                        series : [ {
                          // 根據名字對應到相應的數據
                          data : gao//在這里對data進行賦值。
                        } ]
                      });

                    }

                  },
                  error : function(errorMsg) {
                    //請求失敗時執行該函數
                    alert("圖表請求數據失敗!");
                    myChart.hideLoading();
                  }
                })




      完畢

      我把整個jsp都放上來了,但是里面的 css 還有 js 就不放了,重點是傳數據的那一部分。

      <%@ page language="java" contentType="text/html; charset=UTF-8"
               pageEncoding="UTF-8"%>
      <!DOCTYPE html>
      <html lang="zh-CN">
      <head>
        <meta charset="UTF-8">
        <title>LOL數據分析</title>
        <script src="https://cdn.bootcss.com/jquery/1.10.2/jquery.min.js"></script>
        <script type="text/javascript" src='js/echarts.js'></script>
        <link rel="stylesheet" href="css/jquery.fullPage.css">
        <link rel="stylesheet" href="css/style.css">
        <link rel="icon" >
        <meta name="viewport" content="width=device-width, initial-scale=1">
        <script src="https://code.highcharts.com.cn/highcharts/highcharts.js"></script>
        <script src="https://code.highcharts.com.cn/highcharts/modules/exporting.js"></script>
        <script src="https://img.hcharts.cn/highcharts-plugins/highcharts-zh_CN.js"></script>
      </head>

      <body>
      <div class="bgcolor">
        <div style="z-index:100;" id="dowebok">
          <!--第一屏-->

          <div class="section">
            <div class="ly-box01">
              <img class="ly-img01" src="img/logol.png" style="width:100%;height:100%">

            </div>
          </div>

       

          <!--第三屏-->

          <div class="section">
            <div class="timeline"></div>
            <div class="timepoint21"></div>
            <div class="ly-box11">
              <div id="man" style=" width: 600px;height: 500px;"></div>

              <script type="text/javascript">
                // 基于準備好的dom,初始化echarts實例
                var value=[];
                $.ajaxSettings.async=false;
                var myChart = echarts.init(document.getElementById('man'));
                var option = {
                  title : {
                    text: '死亡分布圖',
                  },
                  xAxis: {axisTick: {//決定是否顯示坐標刻度
                      alignWithLabel: true,
                      show:true
                    },},
                  yAxis: {},
                  series: [{
                    symbolSize: 20,
                    data: [],
                    type: 'scatter'
                  }]
                };
                myChart.setOption(option);






                var num = [];
                var gao = new Array(4);
                $.ajax({
                  type : "post",
                  async : true, //異步請求(同步請求將會鎖住瀏覽器,其他操作須等請求完成才可執行)
                  url : "BackServlet", //請求發送到TestServlet
                  data : {},
                  dataType : "json", //返回數據形式為json

                  //7.請求成功后接收數據name+num兩組數據
                  success : function(result) {
                    //result為服務器返回的json對象
                    if (result) {
                      //8.取出數據存入數組

                      for (var i = 0; i < result.length; i++) {
                        gao.push([result[i].x,result[i].y]);
                      }

                  //  document.write(gao);
                      myChart.hideLoading(); //隱藏加載動畫

                      //9.覆蓋操作-根據數據加載數據圖表
                      myChart.setOption({
                        series : [ {
                          // 根據名字對應到相應的數據
                          data : gao
                        } ]
                      });

                    }

                  },
                  error : function(errorMsg) {
                    //請求失敗時執行該函數
                    alert("圖表請求數據失敗!");
                    myChart.hideLoading();
                  }
                })






              </script>
            </div>
            <div class="ly-triangle21"></div>
          </div>
        <!--試驗-->

        <ul class="bg-bubbles">
          <li><img src="img/logol.png" style="width:100%;height:100%"></li>
          <li><img src="img/logol.png" style="width:100%;height:100%"></li>
          <li><img src="img/logol.png" style="width:100%;height:100%"></li>
          <li><img src="img/logol.png" style="width:100%;height:100%"></li>
          <li><img src="img/logol.png" style="width:100%;height:100%"></li>
          <li><img src="img/logol.png" style="width:100%;height:100%"></li>
          <li><img src="img/logol.png" style="width:100%;height:100%"></li>
          <li><img src="img/logol.png" style="width:100%;height:100%"></li>
          <li><img src="img/logol.png" style="width:100%;height:100%"></li>
          <li><img src="img/logol.png" style="width:100%;height:100%"></li>
        </ul>

      </div>

      <audio src="music/1.mp3" autoplay="autoplay" loop="loop" />
      <script src="js/jquery-1.8.3.min.js"></script>
      <script src="js/jquery.fullPage.min.js"></script>
      <script src="js/diy.js"></script>
      </body>
      </html>
      藍藍設計www.tuitetiyu.cn )是一家專注而深入的界面設計公司,為期望卓越的國內外企業提供卓越的UI界面設計、BS界面設計 、 cs界面設計 、 ipad界面設計 、 包裝設計 、 圖標定制 、 用戶體驗 、交互設計、 網站建設 平面設計服務

      日歷

      鏈接

      個人資料

      藍藍設計的小編 http://www.tuitetiyu.cn

      存檔

      主站蜘蛛池模板: 一区二区三区四少妇| 亚洲一区二区av免费| 欧美日韩一卡一卡高清在线观看| 丹阳市| 亚洲av片不卡无码一动漫| 国产开放小视频在线| 五月丁香综合激情在线| 青草国产超碰人人添人人碱| 国产一区在线播放av| 日本在线 | 中文| 久久这里都是精品二| 国产精品中文av专线| 欧美亚洲色欲色一欲ww| 三级国产三级在线| 国产精品害羞卫校小美女| 国产在线高清伦免费理视频| 在线天堂av影院| 不卡国产视频第一页| 91精品国产色综合久久| 国产18禁一区二区三区| 亚洲黄日本午夜一区二区| 日韩AV操逼国产AV影音| yy9299国产精品| 欧美一级高清片| 亚洲国产精华推荐单单品榜| 无人视频在线观看完整版高清中文| 原来神马电影免费网| 亚洲一区二区在线| 亚洲成av人片不卡无码手机版| 亚洲欧洲久久激情久av| 亚洲国产五月综合网| 日韩人妻无码精品视频| 亚洲最大av一区二区| 亚洲精品无码永久在线观看你懂的| 中国做爰国产精品视频| 亚洲男女羞羞无遮挡久久丫| 欧美va乱妇无码| 免费人成视频在线| 波多野结系列无码观看| 免费精品久久天干天干| 91亚洲人人在字幕国产|