最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

微信小程序使用ECharts的示例詳解

 更新時間:2022年06月15日 08:26:40   作者:萌貓他爸  
echarts-for-weixin是ECharts官方維護的一個開源項目,提供了一個微信小程序組件,可以通過這個組件在微信小程序中使用?ECharts?繪制圖表。本文將通過示例詳解微信小程序使用ECharts的方法,感興趣的可以了解一下

echarts-for-weixin 是 ECharts 官方維護的一個開源項目,提供了一個微信小程序組件(Component),我們可以通過這個組件在微信小程序中使用 ECharts 繪制圖表。

echarts-for-weixin 自身包含很多使用示例,方便我們參考。

安裝 ECharts 組件

克隆項目:

git clone https://github.com/ecomfe/echarts-for-weixin.git

切換版本:

git checkout v2.0.0

echarts-for-weixin 最新的 Releases 版本為 v2.0.0,內(nèi)部使用的 ECharts 版本為 5.1.1,詳情可以參考 Releases。

項目文件夾 ec-canvas 就是我們需要的 ECharts 組件文件夾,我們只需要把該文件夾整個復(fù)制/拷貝到我們小程序項目中就可以完成安裝。

ec-canvas 目錄下有一個 echarts.js,默認文件大小較大,如果我們需要使用從 官網(wǎng)自定義構(gòu)建 的方式減小文件大小,選擇的 ECharts 版本一定要和 echarts-for-weixin 版本相匹配,如:5.1.1。

使用 ECharts 組件

假設(shè)我們需要繪制圖表的頁面(Page)為 echarts,小程序項目中對應(yīng)以下四個文件:

  • echarts.js
  • echarts.wxml
  • echarts.wxss
  • echarts.json

在文件 echarts.json 中引用聲明組件:

{
  "usingComponents": {
    "ec-canvas": "/activity/components/ec-canvas/ec-canvas"
  }
}

ec-canvas 為 ECharts 組件名稱,/activity/components/ec-canvas/ec-canvas 是小程序項目中 ECharts 組件的安裝目錄。

在文件 echarts.wxml 中使用組件:

<view class="ec-container">
  <ec-canvas canvas-id="echart-pie" ec="{{ec}}"></ec-canvas>
</view>

canvas-id 是組件ID,必須唯一;ec 是組件對象,內(nèi)部包含組件繪制所需要的數(shù)據(jù)。

ECharts 組件需要一個組件容器(view),多個組件可以位于同一個組件容器中,必須保證組件初始化(onInit)之前,組件容器是有寬度和高度的;否則,可能導(dǎo)致圖表不能正常顯示,只顯示空白。

在文件 echarts.wxss 中聲明布局樣式類:

.ec-container {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;

  width: 100vw;
  height: 100vh;
}

ec-canvas {
  width: 100%;
  height: 100%;
}

.ec-container 為組件容器使用的樣式類,注意組件容器寬高(width)和高度(height)的聲明;ec-canvas 為組件容器使用的樣式類,可以使用寬高(width)和高度(height)設(shè)置圖表寬高,也可以使用絕對定位(absolute/top/bottom/left/right)的方式設(shè)置圖表位置和寬高。

在 echarts.js 中創(chuàng)建和綁定 ECharts 組件對象:

import * as echarts from '../../components/ec-canvas/echarts'

導(dǎo)入 echarts;

function initChart(canvas, width, height, dpr) {
  const chart = echarts.init(canvas, null, {
    width: width,
    height: height,
    devicePixelRatio: dpr
  });
  canvas.setChart(chart);

  var option = {
    backgroundColor: "#ffffff",
    series: [{
      label: {
        normal: {
          fontSize: 14
        }
      },
      type: 'pie',
      center: ['50%', '50%'],
      radius: ['20%', '40%'],
      data: [{
        value: 55,
        name: '北京'
      }, {
        value: 20,
        name: '武漢'
      }, {
        value: 10,
        name: '杭州'
      }, {
        value: 20,
        name: '廣州'
      }, {
        value: 38,
        name: '上海'
      }]
    }]
  };
  chart.setOption(option);

  return chart;
}

ECharts 組件初始化 通用 函數(shù),我們只需要修改函數(shù)中的 option 中的內(nèi)容即可。

Page({
  data: {
    ec: {
      onInit: initChart
    }
  }
})

ECharts 組件初始化,加載圖表:

圖表延遲加載

如果不想頁面渲染時就加載圖表,就需要使用延遲加載,俗稱“懶加載”。

<view class="ec-container">
  <ec-canvas id="lazy-echart-pie" canvas-id="lazy-canvas-pie" ec="{{lazyEc}}"></ec-canvas>
</view>

id 是 ECharts 組件的唯一標(biāo)識,canvas-id 是 ECharts 組件內(nèi)部畫布(Canvas)的唯一標(biāo)識。

Page({
  data: {
    lazyEc: {
      lazyLoad: true
    }
  }
})

頁面渲染時,不直接初始化 ECharts 組件對象,且設(shè)置組件啟用懶加載;

this.lazyComponent = this.selectComponent('#lazy-echart-pie')

頁面渲染完成后,使用組件ID獲取組件實例(lazyComponent),保存至頁面(this)實例中。

this.lazyComponent.init((canvas, width, height, dpr) => {
  const chart = echarts.init(canvas, null, {
    width: width,
    height: height,
    devicePixelRatio: dpr
  });
  canvas.setChart(chart);

  this.lazyChart = chart;

  var option = {
    ...
  };
  chart.setOption(option);

  return chart;
});

需要加載圖表時,使用組件實例,手動 調(diào)用初始化方法(init),方法內(nèi)容與 initChart 相同。為了方便后續(xù)操作圖表實例(chart),也可以將它保存至頁面實例中。

this.lazyChart.dispose();

不需要圖表時,獲取圖表實例,銷毀圖表。

以上就是微信小程序使用ECharts的示例詳解的詳細內(nèi)容,更多關(guān)于小程序 ECharts的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • 關(guān)于IE7 IE8彈出窗口頂上

    關(guān)于IE7 IE8彈出窗口頂上

    關(guān)于IE7.8.彈出窗口頂上...
    2008-12-12
  • JS中比較冷門但非常好用的方法總結(jié)

    JS中比較冷門但非常好用的方法總結(jié)

    在Js中有一些比較冷門但是非常好用的方法,我在這里稱之為高級方法,這些方法沒有被廣泛使用或多或少是因為存在一些兼容性的問題,不是所有的瀏覽器都讀得懂的,這篇文章主要就是對這些方法做一個總結(jié),讓我們一起來看一下吧
    2023-06-06
  • layui-table對返回的數(shù)據(jù)進行轉(zhuǎn)變顯示的實例

    layui-table對返回的數(shù)據(jù)進行轉(zhuǎn)變顯示的實例

    今天小編就為大家分享一篇layui-table對返回的數(shù)據(jù)進行轉(zhuǎn)變顯示的實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-09-09
  • 小試SVG之新手小白入門教程

    小試SVG之新手小白入門教程

    這篇文章主要給大家介紹了關(guān)于SVG的相關(guān)資料,文中通過圖文以及示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-01-01
  • 詳解微信開發(fā)中snsapi_base和snsapi_userinfo及靜默授權(quán)的實現(xiàn)

    詳解微信開發(fā)中snsapi_base和snsapi_userinfo及靜默授權(quán)的實現(xiàn)

    這篇文章主要介紹了詳解微信開發(fā)中snsapi_base和snsapi_userinfo及靜默授權(quán)的實現(xiàn)的相關(guān)資料,需要的朋友可以參考下
    2017-03-03
  • JS實現(xiàn)的base64加密解密完整實例

    JS實現(xiàn)的base64加密解密完整實例

    這篇文章主要介紹了JS實現(xiàn)的base64加密解密,以完整實例形式分析了JavaScript基于base64編碼實現(xiàn)加密與解密的具體步驟與相關(guān)技巧,并附帶了相關(guān)的加密解密在線工具地址供大家參考,需要的朋友可以參考下
    2016-04-04
  • 基于JS實現(xiàn)01支付后的10秒倒計時

    基于JS實現(xiàn)01支付后的10秒倒計時

    這是一個通過js實現(xiàn)的支付后的頁面,點擊支付會跳出一個彈窗,提示你是否要確定支付,確定后進入付后界面,該頁面有著10秒倒計時,計時結(jié)束后便會返回原界面,也可以選擇立刻返回,來返回主頁面,這篇文章主要介紹了基于JS實現(xiàn)01支付后的10秒倒計時,需要的朋友可以參考下
    2023-03-03
  • javascript中檢測變量的類型的代碼

    javascript中檢測變量的類型的代碼

    javascript對于變量的定義、類型的要求都比較松散,這樣既方便,但又容易犯錯。有時候進行必要的類型檢查是必須的。
    2010-12-12
  • js?html5獲取input焦點的輸入框并賦值實例

    js?html5獲取input焦點的輸入框并賦值實例

    這篇文章主要為大家介紹了js?html5獲取input焦點的輸入框并賦值實現(xiàn)示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-10-10
  • 基于javascript實現(xiàn)按圓形排列DIV元素(三)

    基于javascript實現(xiàn)按圓形排列DIV元素(三)

    本篇文章主要介紹基于javascript實現(xiàn)按圓形排列DIV元素的方法,此文著重于介紹怎樣實現(xiàn)圖片按橢圓形轉(zhuǎn)動,需要的朋友來看下吧
    2016-12-12

最新評論

兴海县| 洮南市| 海口市| 罗平县| 田林县| 三亚市| 肥城市| 宜兴市| 亚东县| 于都县| 南宫市| 隆回县| 措勤县| 邯郸市| 枞阳县| 鹤峰县| 丽江市| 乳源| 常州市| 襄城县| 舟曲县| 兴安县| 札达县| 永和县| 姜堰市| 峡江县| 乐陵市| 凉城县| 漠河县| 洪洞县| 台中县| 拉萨市| 华宁县| 岑溪市| 策勒县| 英吉沙县| 绥滨县| 平陆县| 嵩明县| 南康市| 枣庄市|