資料統計是我們常用的功能,我們一般在pc 端使用的比較多,大多數用在管理系統中統計數據的分析,最近在做微信小程式的時候也遇到了相同的需求,把數據統計在小程式端以圖表的形式展示,這裡記錄下自己的配置使用流程。
首先百度的echarts 沒有提供小程式版本,這裡找了個封裝過可以用在微信端的倉庫小程式版echarts,透過這個連結下載最新的套件。解壓縮之後有個ec-canvas
資料夾就是封裝的元件,放到小程式的元件資料夾目錄下,以供使
用。
<span style="display: block; background: url(https://my-wechat.mdnice.com/point.png); height: 30px; width: 100%; background-size: 40px; background-repeat: no-repeat; background-color: #282c34; margin-bottom: -7px; border-radius: 5px; background-position: 10px 10px;"></span><code class="hljs copyable" style="overflow-x: auto; padding: 16px; color: #abb2bf; display: -webkit-box; font-family: Operator Mono, Consolas, Monaco, Menlo, monospace; font-size: 12px; -webkit-overflow-scrolling: touch; padding-top: 15px; background: #282c34; border-radius: 5px;">├── ec-canvas<br/>│ ├── ec-canvas.js<br/>│ ├── ec-canvas.json<br/>│ ├── ec-canvas.wxml<br/>│ ├── ec-canvas.wxss<br/>│ ├── echarts.min.js<br/>│ └── wx-canvas.js<br/><span class="copy-code-btn">复制代码</span></code>
<span style="display: block; background: url(https://my-wechat.mdnice.com/point.png); height: 30px; width: 100%; background-size: 40px; background-repeat: no-repeat; background-color: #282c34; margin-bottom: -7px; border-radius: 5px; background-position: 10px 10px;"></span><code class="hljs copyable" style="overflow-x: auto; padding: 16px; color: #abb2bf; display: -webkit-box; font-family: Operator Mono, Consolas, Monaco, Menlo, monospace; font-size: 12px; -webkit-overflow-scrolling: touch; padding-top: 15px; background: #282c34; border-radius: 5px;"><span class="hljs-string" style="color: #98c379; line-height: 26px;">"usingComponents"</span>: {<br/> <span class="hljs-attr" style="color: #d19a66; line-height: 26px;">"ec-canvas"</span>: <span class="hljs-string" style="color: #98c379; line-height: 26px;">"../../ec-canvas/ec-canvas"</span><br/> }<br/><span class="copy-code-btn">复制代码</span></code>
<view class="container"> <ec-canvas id="mychart-dom-bar" canvas-id="mychart-bar" ec="{{ ec }}"></ec-canvas> </view>复制代码
<span style="display: block; background: url(https://my-wechat.mdnice.com/point.png); height: 30px; width: 100%; background-size: 40px; background-repeat: no-repeat; background-color: #282c34; margin-bottom: -7px; border-radius: 5px; background-position: 10px 10px;"></span><code class="hljs copyable" style="overflow-x: auto; padding: 16px; color: #abb2bf; display: -webkit-box; font-family: Operator Mono, Consolas, Monaco, Menlo, monospace; font-size: 12px; -webkit-overflow-scrolling: touch; padding-top: 15px; background: #282c34; border-radius: 5px;">Page({<br/> <span class="hljs-attr" style="color: #d19a66; line-height: 26px;">data</span>: {<br/> <span class="hljs-attr" style="color: #d19a66; line-height: 26px;">ec</span>: {<br/> <span class="hljs-attr" style="color: #d19a66; line-height: 26px;">onInit</span>: initChart<br/> }<br/> },<br/> onLoad(){<br/> <span class="hljs-comment" style="color: #5c6370; font-style: italic; line-height: 26px;">// 在需要的地方获取dom</span><br/> <span class="hljs-keyword" style="color: #c678dd; line-height: 26px;">this</span>.echartsComponnet1 = <span class="hljs-keyword" style="color: #c678dd; line-height: 26px;">this</span>.selectComponent(<span class="hljs-string" style="color: #98c379; line-height: 26px;">'#mychart-dom-bar1'</span>)<br/> <span class="hljs-keyword" style="color: #c678dd; line-height: 26px;">this</span>.init_echarts1({ <span class="hljs-attr" style="color: #d19a66; line-height: 26px;">value</span>: res.data.rotateSpeed || <span class="hljs-number" style="color: #d19a66; line-height: 26px;">0</span>, <span class="hljs-attr" style="color: #d19a66; line-height: 26px;">name</span>: <span class="hljs-string" style="color: #98c379; line-height: 26px;">'x1000'</span> })<br/> }<br/> <span class="hljs-comment" style="color: #5c6370; font-style: italic; line-height: 26px;">// 初始化</span><br/> init_echarts1 (data) {<br/> <span class="hljs-keyword" style="color: #c678dd; line-height: 26px;">this</span>.echartsComponnet1.init(<span class="hljs-function" style="line-height: 26px;">(<span class="hljs-params" style="line-height: 26px;">canvas, width, height</span>) =></span> {<br/> <span class="hljs-comment" style="color: #5c6370; font-style: italic; line-height: 26px;">// 初始化图表</span><br/> <span class="hljs-keyword" style="color: #c678dd; line-height: 26px;">const</span> chart = echarts.init(canvas, <span class="hljs-literal" style="color: #56b6c2; line-height: 26px;">null</span>, {<br/> <span class="hljs-attr" style="color: #d19a66; line-height: 26px;">width</span>: width,<br/> <span class="hljs-attr" style="color: #d19a66; line-height: 26px;">height</span>: height<br/> })<br/> <span class="hljs-keyword" style="color: #c678dd; line-height: 26px;">this</span>.chart = chart<br/> <span class="hljs-comment" style="color: #5c6370; font-style: italic; line-height: 26px;">// setGaugeChartOption1获取到基础配置</span><br/> chart.setOption(setGaugeChartOption1(data))<br/> <span class="hljs-comment" style="color: #5c6370; font-style: italic; line-height: 26px;">// 注意这里一定要返回 chart 实例,否则会影响事件处理等</span><br/> <span class="hljs-keyword" style="color: #c678dd; line-height: 26px;">return</span> chart<br/> })<br/> },<br/>});<br/><span class="copy-code-btn">复制代码</span></code>
相關學習推薦:微信小程式教學
以上是學習微信小程式如何使用echarts圖表的詳細內容。更多資訊請關注PHP中文網其他相關文章!