小程序使用echarts

**小程序使用echarts**

最近接到一個(gè)小程序項(xiàng)目智末,里面有圖表之類(lèi)的功能谅摄,自然而然的就想到了echarts。

為了兼容小程序 Canvas系馆,官方提供了一個(gè)小程序的組件送漠,用這種方式可以方便地使用 ECharts。

首先由蘑,下載 GitHub 上的 ecomfe/echarts-for-weixin 項(xiàng)目螺男。

其中棒厘,ec-canvas 是我們提供的組件,其他文件是如何使用該組件的示例下隧。

ec-canvas 目錄下有一個(gè) echarts.js奢人,默認(rèn)我們會(huì)在每次 echarts-for-weixin 項(xiàng)目發(fā)版的時(shí)候替換成最新版的 ECharts。如有必要淆院,可以自行從 ECharts 項(xiàng)目中下載最新發(fā)布版何乎,或者從官網(wǎng)自定義構(gòu)建以減小文件大小。

下面是引用后的項(xiàng)目結(jié)構(gòu)

![在這里插入圖片描述](https://img-blog.csdnimg.cn/20200507111326488.png)

我要在pages/index/index中使用土辩,那么就先在index.js中引用支救,import * as echarts from '../../ec-canvas/echarts';(這是我項(xiàng)目的引用路徑,根據(jù)自己項(xiàng)目做修改)

下面方法寫(xiě)在Page外拷淘,這樣更新數(shù)據(jù)才能及時(shí)響應(yīng)各墨,數(shù)據(jù)暫時(shí)是假數(shù)據(jù),請(qǐng)求接口數(shù)據(jù)直接在方法內(nèi)請(qǐng)求即可(下面方法一個(gè)為折線圖启涯,一個(gè)為餅圖)贬堵,在小程序中使用與在web中使用沒(méi)有太大區(qū)別

```javascript

var xData = ["1:00", "2:00", "3:00", "4:00", "5:00", "6:00", "7:00", "8:00", "9:00", "10:00", "11:00", "12:00", "13:00", "14:00", "15:00"],

yData = [100,250,360,585,458,985,652,154,265],

chart,

charts,

pc=180,

mobile=132;

function initChart(canvas, width, height) {

? for(var i=0;i<15;i++){

? ? yData[i]=Math.ceil(Math.random()*1000);

? }

? chart = echarts.init(canvas, null, {

? ? width: width,

? ? height: height

? });

? canvas.setChart(chart);

? var option = {

? ? color: ["#37A2DA"],

? ? xAxis: {

? ? ? type: 'category',

? ? ? boundaryGap: false,

? ? ? data: xData,

? ? },

? ? yAxis: {

? ? ? x: 'center',

? ? ? type: 'value'

? ? },

? ? series: [{

? ? ? type: 'line',

? ? ? smooth: true,

? ? ? data: yData

? ? }]

? };

? chart.setOption(option);

? return chart;

}

function initCharts(canvas, width, height) {

? charts = echarts.init(canvas, null, {

? ? width: width,

? ? height: height

? });

? canvas.setChart(charts);

? var options = {

? ? color: ["#3498DB", "#E062AE"],

? ? tooltip: {

? ? ? trigger: 'item',

? ? ? formatter: "{a} : {c} (pmwxaz6%)"

? ? },

? ? grid: {

? ? ? left: 20,

? ? ? right: 20,

? ? ? bottom: 15,

? ? ? top: 40,

? ? ? containLabel: true

? ? },

? ? color: ['#ff7f50','#87cefa','#da70d6','#32cd32','#6495ed',

? ? ? ? '#ff69b4','#ba55d3','#cd5c5c','#ffa500','#40e0d0',

? ? ? ? '#1e90ff','#ff6347','#7b68ee','#00fa9a','#ffd700',

? ? ? ? '#6699FF','#ff6666','#3cb371','#b8860b','#30e0e0'],

? //? visualMap: {

? //? ? show: false,

? //? ? min: 80,

? //? ? max: 600,

? //? ? color: ["#3498DB", "#E062AE","#333","#658","#999","#000","#345689","#125686","#145689","#157856","#854655","#456895","#658"],

? //? ? inRange: {

? //? ? ? ? colorLightness: [0, 1]

? //? ? }

? // },

? ? series: [

? ? ? {

? ? ? ? type: 'pie',

? ? ? ? radius: '65%',

? ? ? ? center: ['50%', '50%'],

? ? ? ? label: {

? ? ? ? ? normal: {

? ? ? ? ? ? show: true,

? ? ? ? ? ? position: 'outside',

? ? ? ? ? ? formatter: '结洼:{c}'

? ? ? ? ? },

? ? ? ? ? emphasis: {

? ? ? ? ? ? show: true,

? ? ? ? ? ? textStyle: {

? ? ? ? ? ? ? fontSize: '14',

? ? ? ? ? ? ? fontWeight: 'bold'

? ? ? ? ? ? }

? ? ? ? ? }

? ? ? ? },

? ? ? ? data: [

? ? ? ? ? { value: 120, name: "移動(dòng)端" },

? ? ? ? ? { value: 154, name:"PC端"},

? ? ? ? ? { value: 55, name: "移動(dòng)端1" },

? ? ? ? ? { value: 78, name:"PC端1"},

? ? ? ? ? { value: 63, name: "移動(dòng)端2" },

? ? ? ? ? { value: 48, name:"PC端2"},

? ? ? ? ? { value: 96, name: "移動(dòng)端3" },

? ? ? ? ? { value: 14, name:"PC端3"}

? ? ? ? ].sort(function (a, b) { return a.value - b.value; }),

? ? ? ? roseType: 'radius',

? ? ? ? ? ? label: {

? ? ? ? ? ? ? color: 'rgba(0, 0, 0, 1)'

? ? ? ? ? ? },

? ? ? ? ? ? labelLine: {

? ? ? ? ? ? ? ? lineStyle: {

? ? ? ? ? ? ? ? ? ? color: 'rgba(0, 0, 0, 1)'

? ? ? ? ? ? ? ? },

? ? ? ? ? ? ? ? smooth: 0.2,

? ? ? ? ? ? ? ? length: 5,

? ? ? ? ? ? ? ? length2: 20

? ? ? ? ? ? },

? ? ? ? ? ? itemStyle: {

? ? ? ? ? ? ? ? shadowBlur: 200,

? ? ? ? ? ? ? ? shadowColor: 'rgba(0, 0, 0, 0.5)'

? ? ? ? ? ? },

? ? ? ? ? ? animationType: 'scale',

? ? ? ? ? ? animationEasing: 'elasticOut',

? ? ? ? ? ? animationDelay: function (idx) {

? ? ? ? ? ? ? ? return Math.random() * 200;

? ? ? ? ? ? }

? ? ? }

? ? ]

? };

? charts.setOption(options);

? return charts;

}

```

方法完成后需要聲明在Page/data中

```javascript

data: {

? ? // motto: 'Hello World',

? ? // userInfo: {},

? ? // hasUserInfo: false,

? ? // canIUse: wx.canIUse('button.open-type.getUserInfo'),

? ? ec: {

? ? ? onInit: initChart

? ? },

? ? ecs: {

? ? ? onInit: initCharts

? ? }

? },

```

之后在index.wxml中掛載即可

```javascript

<view class="pi">

<ec-canvas id="mychart-dom-line" canvas-id="mychart-bar" ec="{{ ec }}" ></ec-canvas>

<ec-canvas id="mychart-dom-line" canvas-id="mychart-bar" ec="{{ ecs }}" ></ec-canvas>

</view>

```

ECharts的方法在小程序中使用與外部使用沒(méi)有明顯差別黎做,希望能夠幫到大家,有什么不對(duì)的歡迎討論松忍!

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末蒸殿,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子鸣峭,更是在濱河造成了極大的恐慌宏所,老刑警劉巖,帶你破解...
    沈念sama閱讀 211,194評(píng)論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件摊溶,死亡現(xiàn)場(chǎng)離奇詭異爬骤,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)更扁,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,058評(píng)論 2 385
  • 文/潘曉璐 我一進(jìn)店門(mén)盖腕,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)赫冬,“玉大人浓镜,你說(shuō)我怎么就攤上這事【⒀幔” “怎么了膛薛?”我有些...
    開(kāi)封第一講書(shū)人閱讀 156,780評(píng)論 0 346
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)补鼻。 經(jīng)常有香客問(wèn)我哄啄,道長(zhǎng)雅任,這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 56,388評(píng)論 1 283
  • 正文 為了忘掉前任咨跌,我火速辦了婚禮沪么,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘锌半。我一直安慰自己禽车,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,430評(píng)論 5 384
  • 文/花漫 我一把揭開(kāi)白布刊殉。 她就那樣靜靜地躺著殉摔,像睡著了一般。 火紅的嫁衣襯著肌膚如雪记焊。 梳的紋絲不亂的頭發(fā)上逸月,一...
    開(kāi)封第一講書(shū)人閱讀 49,764評(píng)論 1 290
  • 那天,我揣著相機(jī)與錄音遍膜,去河邊找鬼碗硬。 笑死,一個(gè)胖子當(dāng)著我的面吹牛捌归,可吹牛的內(nèi)容都是我干的肛响。 我是一名探鬼主播,決...
    沈念sama閱讀 38,907評(píng)論 3 406
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼惜索,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼特笋!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起巾兆,我...
    開(kāi)封第一講書(shū)人閱讀 37,679評(píng)論 0 266
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤猎物,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后角塑,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體蔫磨,經(jīng)...
    沈念sama閱讀 44,122評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,459評(píng)論 2 325
  • 正文 我和宋清朗相戀三年圃伶,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了堤如。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,605評(píng)論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡窒朋,死狀恐怖搀罢,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情侥猩,我是刑警寧澤榔至,帶...
    沈念sama閱讀 34,270評(píng)論 4 329
  • 正文 年R本政府宣布,位于F島的核電站欺劳,受9級(jí)特大地震影響唧取,放射性物質(zhì)發(fā)生泄漏铅鲤。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,867評(píng)論 3 312
  • 文/蒙蒙 一枫弟、第九天 我趴在偏房一處隱蔽的房頂上張望邢享。 院中可真熱鬧,春花似錦淡诗、人聲如沸驼仪。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 30,734評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)绪爸。三九已至,卻和暖如春宙攻,著一層夾襖步出監(jiān)牢的瞬間奠货,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 31,961評(píng)論 1 265
  • 我被黑心中介騙來(lái)泰國(guó)打工座掘, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留递惋,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 46,297評(píng)論 2 360
  • 正文 我出身青樓溢陪,卻偏偏與公主長(zhǎng)得像萍虽,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子形真,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,472評(píng)論 2 348