<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      導航

      微信小程序使用 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,內部使用的 ECharts 版本為 5.1.1,詳情可以參考 Releases。

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

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

      使用 ECharts 組件

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

      • 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 是組件對象,內部包含組件繪制所需要的數據。

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

      在文件 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)設置圖表寬高,也可以使用絕對定位(absolute/top/bottom/left/right)的方式設置圖表位置和寬高。

      echarts.js 中創建和綁定 ECharts 組件對象:

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

      導入 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 組件初始化 通用 函數,我們只需要修改函數中的 option 中的內容即可。

      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 組件的唯一標識,canvas-id 是 ECharts 組件內部畫布(Canvas)的唯一標識。

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

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

      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;
      });
      

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

      this.lazyChart.dispose();
      

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

      posted on 2022-06-14 16:44  非著名野生程序員  閱讀(7077)  評論(1)    收藏  舉報
      主站蜘蛛池模板: 精品国产乱码久久久久夜深人妻| 国产精品欧美一区二区三区不卡| 另类 专区 欧美 制服| 2020国产成人精品视频| 久久亚洲女同第一区综合| 欧美 亚洲 日韩 在线综合| 成人3d动漫一区二区三区| 中文字幕在线无码一区二区三区 | 亚洲国产精品日韩在线| 天天躁日日摸久久久精品| 国内精品久久久久久久coent | 天堂V亚洲国产V第一次| 91精品人妻中文字幕色| 99riav国产精品视频| 又大又粗欧美黑人aaaaa片| 国产亚洲无线码一区二区| 亚洲国产欧美一区二区好看电影| 久久国产精品成人免费| 国产精品天天看天天狠| 岛国最新亚洲伦理成人| 色妞www精品免费视频| 韩国午夜理伦三级| 精品一区二区三区少妇蜜臀| 激情国产av做激情国产爱| 视频一区二区三区四区五区| 蜜芽亚洲AV无码精品国产午夜 | 亚洲av成人一区在线| 亚洲精品日本久久久中文字幕| 亚洲AVAV天堂AV在线网阿V| 国产又爽又大又黄a片| 农民人伦一区二区三区| 国产99视频精品免费视频36 | 国产精品无码a∨麻豆| 黄色大全免费看国产精品| 欧美日本在线一区二区三区| 特级做a爰片毛片免费看无码 | 国产乱子伦一区二区三区视频播放| 亚洲色最新高清AV网站| 亚洲国产成人无码电影| 97久久超碰国产精品2021| 成在人线av无码免费|