1. <ul id="0c1fb"></ul>

      <noscript id="0c1fb"><video id="0c1fb"></video></noscript>
      <noscript id="0c1fb"><listing id="0c1fb"><thead id="0c1fb"></thead></listing></noscript>

      99热在线精品一区二区三区_国产伦精品一区二区三区女破破_亚洲一区二区三区无码_精品国产欧美日韩另类一区

      RELATEED CONSULTING
      相關(guān)咨詢
      選擇下列產(chǎn)品馬上在線溝通
      服務(wù)時間:8:30-17:00
      你可能遇到了下面的問題
      關(guān)閉右側(cè)工具欄

      新聞中心

      這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
      Echarts中怎么實現(xiàn)數(shù)據(jù)可視化

      這期內(nèi)容當中小編將會給大家?guī)碛嘘P(guān)Echarts中怎么實現(xiàn)數(shù)據(jù)可視化,文章內(nèi)容豐富且以專業(yè)的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。

      成都創(chuàng)新互聯(lián)公司于2013年成立,先為金溪等服務(wù)建站,金溪等地企業(yè),進行企業(yè)商務(wù)咨詢服務(wù)。為金溪企業(yè)網(wǎng)站制作PC+手機+微官網(wǎng)三網(wǎng)同步一站式服務(wù)解決您的所有建站問題。

      Echarts這個方案從我接觸到做出一個還算不錯的圖,也就不過幾個小時的時間,其中至少60%的時間是花在數(shù)據(jù)的提取和嵌套環(huán)節(jié)。

      Echarts的口碑很不錯,聽到一個中肯但是有比較損的話:Echarts是百度推出的最有良心的產(chǎn)品。總之Echarts的可視化效果做得很不錯,能讓數(shù)據(jù)可視化很快接入,立馬高大上起來。

      Echarts中怎么實現(xiàn)數(shù)據(jù)可視化

      如果看Echarts的官網(wǎng)會發(fā)現(xiàn)現(xiàn)在是區(qū)分了2個版本,新的版本是2.0的,有了較大的變化。效果做了更多的處理。

      假設(shè)每天存在著大量的備份任務(wù),每天備份了多少,產(chǎn)生了多大備份集,備份花了多少時間,在這個基礎(chǔ)上我又提了一個并行備份的概念,比如40個數(shù)據(jù)庫從1:00開始備份,不管中間是如何調(diào)度的,如果是在5:00結(jié)束,那么就算并行備份時間是4個小時,而如果串行來算,可能備份的時間有10個小時,類似這樣的道理。

      如果有了這些數(shù)據(jù)和參考,那么我們做優(yōu)化的時候方向就會更加明確。是接入更多的業(yè)務(wù),減少備份的存儲容量,還是降低并行備份的時長。有了數(shù)據(jù),有了概覽,這些都會了然于胸。

      如何顯示呢,我們在html中需要一個div來襯托。比如下面的div,我們可以根據(jù)id來在JS中綁定Echarts的代碼。

      如何和div關(guān)聯(lián)起來,我們通過JS里面的document對象來定位。然后使用echarts的對象在這個基礎(chǔ)上初始化,我們可以偽造一些數(shù)據(jù)。

      < type="text/java">

      var myChart = echarts.init(document.getElementById('morris-area-chart'));

      //alert(myChart)

      var xAxisData = ['18-01-10','18-01-11','18-01-12','18-01-13','18-01-14','18-01-15','18-01-16'];

      var data1 = [4030, 4020, 3600, 3750, 3900, 3740, 3760];

      var data2 = [795,804,648,658,656,661,665];

      option = {

      title: {

      text: '近期備份數(shù)據(jù)量統(tǒng)計'

      },

      legend: {

      data: ['日備份容量', '備份集個數(shù)'],

      align: 'left'

      },

      toolbox: {

      // y: 'bottom',

      feature: {

      magicType: {

      type: ['stack', 'tiled']

      },

      dataView: {},

      saveAsImage: {

      pixelRatio: 2

      }

      }

      },

      tooltip: {},

      xAxis: {

      data: xAxisData,

      silent: false,

      splitLine: {

      show: false

      }

      },

      yAxis: {

      },

      series: [{

      name: '日備份容量',

      type: 'bar',

      data: data1,

      animationDelay: function (idx) {

      return idx * 10;

      }

      }, {

      name: '備份集個數(shù)',

      type: 'bar',

      data: data2,

      animationDelay: function (idx) {

      return idx * 10 + 100;

      }

      }],

      animationEasing: 'elasticOut',

      animationDelayUpdate: function (idx) {

      return idx * 5;

      }

      };

      myChart.setOption(option);

      整體來看這個過程還好啊,也沒多少代碼,那是因為Echarts都幫我們做好了。我們來看看后端和前端是如何銜接的,也是做Echarts出圖的難點吧。

      從后端來說,我們通過Django API或者raw SQL來得到數(shù)據(jù)結(jié)果。

      如果通過raw SQL方式來定制,則類似下面的步驟。

      cursor.execute(" xxxxxx")

      backup_size_all = dictfetchall(cursor)

      cursor.close()

      其中cursor處理的結(jié)果默認是truple的,我們需要轉(zhuǎn)換為字典,處理起來會更加方便,所以用了dictfecthall的方法。

      def dictfetchall(cursor):

      desc = cursor.deion

      return [

      dict(zip([col[0] for col in desc], row))

      for row in cursor.fetchall()

      ]

      然后讓response對象來返回到頁面即可。

      前端怎么去處理這個數(shù)據(jù)呢。這里面有個難點就是對于數(shù)據(jù)的方式。

      比如查詢結(jié)果有兩列,比如為backup_date,backup_size,簡單模擬一些數(shù)據(jù)。

      backup_date backup_size

      18-01-15 200

      18-01-16 300

      18-01-17 350

      查詢出來的結(jié)果轉(zhuǎn)換成字典之后,就是類似這樣的形式:

      (backup_date:18-01-15,backup_size:200),(backup_date:18-01-16,backup_size:300),(backup_date:18-01-17,backup_size:350)

      如果在前端初始化的時候,結(jié)果就類似:

      18-01-15,200,18-01-16,300,18-01-17,350這樣的方式,簡單來說就是數(shù)據(jù)是在一起的,在一個循環(huán)中統(tǒng)一處理的。怎么區(qū)別開來呢,在這個場景中,我們可以按照2位基數(shù)做奇偶校驗。

      但是問題來了,前端的標簽不支持看起來簡單的邏輯校驗和檢查。怎么在前端做奇偶校驗?zāi)亍?/p>

      有一個特殊的標簽,forloop.counter|divisibleby:2,明白了這點之后,我們就可以選擇性的初始化,按照我們的預(yù)期來把數(shù)據(jù)放到不同的地方。所以Echarts中需要的幾個數(shù)組都可以通過這種方式來初始化。

      var xAxisData=[

      {% for ds in backup_pieces_all %}

      {% for k,v in ds.items %}

      {% if forloop.counter|divisibleby:2 == 1 %}

      '{{ v }}',

      {% endif %}

      {% endfor %}

      {% endfor %}

      ];

      上述就是小編為大家分享的Echarts中怎么實現(xiàn)數(shù)據(jù)可視化了,如果剛好有類似的疑惑,不妨參照上述分析進行理解。如果想知道更多相關(guān)知識,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。


      網(wǎng)頁題目:Echarts中怎么實現(xiàn)數(shù)據(jù)可視化
      URL鏈接:http://www.ef60e0e.cn/article/pggiig.html
      99热在线精品一区二区三区_国产伦精品一区二区三区女破破_亚洲一区二区三区无码_精品国产欧美日韩另类一区
      1. <ul id="0c1fb"></ul>

        <noscript id="0c1fb"><video id="0c1fb"></video></noscript>
        <noscript id="0c1fb"><listing id="0c1fb"><thead id="0c1fb"></thead></listing></noscript>

        安化县| 丰宁| 宣化县| 耿马| 鄂托克旗| 崇义县| 开江县| 威信县| 吉林省| 武乡县| 化隆| 满城县| 诸城市| 隆子县| 沛县| 凤庆县| 文登市| 安顺市| 佳木斯市| 阳山县| 辉县市| 满洲里市| 吴忠市| 庆安县| 黄石市| 晴隆县| 龙门县| 中卫市| 名山县| 渭源县| 广饶县| 伊宁县| 阿坝县| 镶黄旗| 科尔| 文水县| 德清县| 扬州市| 泰安市| 青浦区| 江西省|