亚洲乱色熟女一区二区三区丝袜,天堂√中文最新版在线,亚洲精品乱码久久久久久蜜桃图片,香蕉久久久久久av成人,欧美丰满熟妇bbb久久久

LOGO OA教程 ERP教程 模切知識(shí)交流 PMS教程 CRM教程 開(kāi)發(fā)文檔 其他文檔  
 
網(wǎng)站管理員

關(guān)于微信小程序中如何實(shí)現(xiàn)數(shù)據(jù)可視化echarts動(dòng)態(tài)渲染,去除文字陰影,解決圖標(biāo)模糊問(wèn)題

freeflydom
2023年11月27日 16:40 本文熱度 2378

移動(dòng)端設(shè)備中,難免會(huì)涉及到數(shù)據(jù)的可視化展示、數(shù)據(jù)統(tǒng)計(jì)等等,本篇主要講解原生微信小程序中嵌入echarts并進(jìn)行動(dòng)態(tài)渲染,實(shí)現(xiàn)數(shù)據(jù)可視化功能。

基礎(chǔ)使用

首先在GitHub上下載echarts
地址:https://github.com/ecomfe/echarts-for-weixin/tree/master
下載項(xiàng)目
解壓壓縮包,將ec-canvas文件夾放到我們的項(xiàng)目中
在需要使用的頁(yè)面引入echarts

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

在頁(yè)面中使用

<view class="line_chart">  <ec-canvas class="chart" id="charts" canvas-id="mychart-line" ec="{{ ec }}"></ec-canvas></view>

先給echarts的父級(jí)元素設(shè)置高度

.line_chart {  width: 100%;  height: 550rpx;  background: #fff;
}

然后就可以使用了

// 引入 echarts 文件,這里路徑一定要正確,就是ec-canvas -> echart.jsimport * as echarts from '../../../ec-canvas/echarts';// 定義 initChart 方法
function initChart(canvas) {  
const chart = echarts.init(canvas, null, {    
height: 250, // 圖表高
    // width: 100  // 圖標(biāo)寬
  });
  canvas.setChart(chart);  // 此為配置項(xiàng)。配置圖表展現(xiàn)樣式與數(shù)據(jù)
  var option = {    
  xAxis: {      
  type: 'category',      
  data: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun']
    },    
    yAxis: {      
    type: 'value'
    },    
    series: [
      {        
      data: [150, 230, 224, 218, 135, 147, 260],        
      type: 'line'
      }
    ]
  };
  chart.setOption(option);  return chart;
}Page({  /**
   * 頁(yè)面的初始數(shù)據(jù)
   */
  data: {    // 此處的ec名稱與wxml結(jié)構(gòu)中命名保持一致
    ec: {      // 使用 onInit 方法定義
      onInit: initChart
    }
  },  /**
   * 生命周期函數(shù)--監(jiān)聽(tīng)頁(yè)面加載
   */
  onLoad(options) {
  },
})

echarts中,配置項(xiàng)與echarts文檔中的配置項(xiàng)相同,按照官網(wǎng)的配置項(xiàng)進(jìn)行開(kāi)發(fā)即可。
配置項(xiàng)手冊(cè):https://echarts.apache.org/zh/option.html


動(dòng)態(tài)渲染echarts

我們會(huì)根據(jù)業(yè)務(wù)場(chǎng)景,傳入不同的數(shù)據(jù)進(jìn)行動(dòng)態(tài)渲染echarts,那么在這里charts實(shí)例就必須配置為全局

var chart = null; // 重要-保存chart為全局實(shí)例
// initChart必須為全局函數(shù)
function initChart(canvas) {
  chart = echarts.init(canvas, null, {    
  height: 250,
  });
  canvas.setChart(chart);  return chart;
}

當(dāng)你的數(shù)據(jù)變化后,重新渲染echarts

 data: {    
 ec: {      
 onInit: initChart
    }
  },  
  getData() {    
  return { // 你配置的的options數(shù)據(jù)...... };
  },  
  getCharts() {      
  setTimeout(() => {        // 由于chart被你定義為全局,所以這里可以直接獲取
        // 通過(guò)setOption設(shè)置options數(shù)據(jù),刷新圖標(biāo)
        chart.setOption(this.getData(), true)
      }, 1500)
    }

解決真機(jī)文字陰影

options配置中添加

   tooltip: {     
   textStyle: {       
   textShadowBlur: 10, // 去掉文字陰影
       textShadowColor: 'transparent', // 去掉文字陰影
     },
   },

解決圖標(biāo)模糊問(wèn)題

在真機(jī)中echarts可能會(huì)出現(xiàn)分辨率低,圖形模糊的情況,此時(shí)我們需要獲取設(shè)備像素比給echarts做初始化設(shè)置。
微信小程序獲取設(shè)備信息:wx.getSystemInfo

function initChart(canvas) {  // 獲取設(shè)備像素比
  const getPixelRatio = () => {    
  let pixelRatio = 0
    wx.getSystemInfo({      
    success: function (res) {
        pixelRatio = res.pixelRatio
      },      fail: function () {
        pixelRatio = 0
      }
    })    
    return pixelRatio
  }  
  var dpr = getPixelRatio(); // 像素比
  chart = echarts.init(canvas, null, {    
  height: 250,    
  devicePixelRatio: dpr // 設(shè)置初始化像素比
  });
  canvas.setChart(chart);  
  return chart;
}

此時(shí)圖表的像素就會(huì)按照設(shè)配像素比進(jìn)行渲染

另外
1、你可以將echarts封裝成組件,通過(guò)observers監(jiān)聽(tīng)數(shù)據(jù)的變化來(lái)實(shí)現(xiàn)echarts的動(dòng)態(tài)渲染。
2、在渲染層面,你可以將 legend、label、調(diào)色盤(pán)、 series拆開(kāi),這樣可以方便你更好的管理數(shù)據(jù)。
3、微信小程序有分包限制,在這里我做的是echarts包的直接下載,可能會(huì)占一些體積,你可以在echarts官網(wǎng)上選擇在線訂制,只下載你需要的圖表解來(lái)減少包的體積,官網(wǎng):在線訂制



該文章在 2023/11/27 16:40:47 編輯過(guò)
關(guān)鍵字查詢
相關(guān)文章
正在查詢...
點(diǎn)晴ERP是一款針對(duì)中小制造業(yè)的專(zhuān)業(yè)生產(chǎn)管理軟件系統(tǒng),系統(tǒng)成熟度和易用性得到了國(guó)內(nèi)大量中小企業(yè)的青睞。
點(diǎn)晴PMS碼頭管理系統(tǒng)主要針對(duì)港口碼頭集裝箱與散貨日常運(yùn)作、調(diào)度、堆場(chǎng)、車(chē)隊(duì)、財(cái)務(wù)費(fèi)用、相關(guān)報(bào)表等業(yè)務(wù)管理,結(jié)合碼頭的業(yè)務(wù)特點(diǎn),圍繞調(diào)度、堆場(chǎng)作業(yè)而開(kāi)發(fā)的。集技術(shù)的先進(jìn)性、管理的有效性于一體,是物流碼頭及其他港口類(lèi)企業(yè)的高效ERP管理信息系統(tǒng)。
點(diǎn)晴WMS倉(cāng)儲(chǔ)管理系統(tǒng)提供了貨物產(chǎn)品管理,銷(xiāo)售管理,采購(gòu)管理,倉(cāng)儲(chǔ)管理,倉(cāng)庫(kù)管理,保質(zhì)期管理,貨位管理,庫(kù)位管理,生產(chǎn)管理,WMS管理系統(tǒng),標(biāo)簽打印,條形碼,二維碼管理,批號(hào)管理軟件。
點(diǎn)晴免費(fèi)OA是一款軟件和通用服務(wù)都免費(fèi),不限功能、不限時(shí)間、不限用戶的免費(fèi)OA協(xié)同辦公管理系統(tǒng)。
Copyright 2010-2025 ClickSun All Rights Reserved