微信小程序插入Echarts折线图

应项目要求,需要在小程序插入折线图,并且折线图根据返回的数据动态渲染。

Echarts文档:https://echarts.baidu.com/tutorial.html#%E5%9C%A8%E5%BE%AE%E4%BF%A1%E5%B0%8F%E7%A8%8B%E5%BA%8F%E4%B8%AD%E4%BD%BF%E7%94%A8%20ECharts

自己配置的简单折线图方法(假数据):

首先,去Git上下载为方便在小程序上使用ECharts的组件,https://github.com/ecomfe/echarts-for-weixin

下载成功后就可以在微信开发者工具中打开项目,里面有很多不同类型的数据图表,选择符合自己的即可进行属性配置,这里,我选择的是最简单的且很常用的折线数据图;

拷贝 ec-canvas 目录到自己的项目根目录下,打开需要绘制折线图的 index 文件:

首先,在index.json中进行配置,

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

其次,在index.wxml中引入 <ec-canvas> 组件,  

<view class="container">
  <ec-canvas id="mychart-dom-bar" canvas-id="mychart-bar" ec="{{ ec }}"></ec-canvas>
</view>

再次,在index.js中书写方法,配置折线图属性,下面是按照我个人风格配置的折线图样式,如果还有其他属性需要配置可以参考ECharts配置项文档

// 根据ec-canvas添加位置,正确引入路径
import * as echarts from '../../ec-canvas/echarts';

let chart = null;

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

  var option = {
    //折线图配置项添加位置
  };
  chart.setOption(option);
  return chart;
}

Page({

  /**
   * 页面的初始数据
   */
  data: {
    ec: {
      onInit: initChart
    }
  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady: function() {

  }
})

因为配置项太多,所以我进行了省略,如果需要参考研究可以去我的git上下载https://github.com/chenlun1000/ECharts01.git

项目是小程序项目,下载下来需要导入自己的appID才能运行。

~~~~~~~~~

下一篇文章会接入数据接口进行动态的渲染折线图,请继续关注!

  • 8
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
微信小程序中使用 ECharts 绘制折线图并实现点击折点显示数据,首先你需要在页面中引入 ECharts 库,并在 WXML 中创建图表容器。以下是一个简单的步骤: 1. 引入 ECharts 和所需模块: 在你的项目中,通常需要在 `index.js` 或相关模块中引入 ECharts 和其他依赖库: ```javascript import wx from 'wx'; import echarts from '@vant/weapp/echarts'; ``` 2. 初始化 ECharts 实例: 在 WXML 文件(如 `chart.wxml`)中创建一个 `view` 用于存放图表: ```html <view id="chartContainer" style="height: 400rpx;"></view> ``` 在对应的 JS 文件中初始化图表: ```javascript Page({ data: { chart: null, seriesData: [], }, onReady: function () { this.initChart(); }, initChart: function () { const chartContainer = wx.createSelectorQuery().select('#chartContainer'); chartContainer.nodes.style.cssText = 'width: 100%; height: 100%;'; this.chart = echarts.init(chartContainer); // ... 接下来设置图表配置和数据 }, }); ``` 3. 设置折线图配置和数据: ```javascript initChart: function () { // ... (假设你已经有了 seriesData 数据) const option = { xAxis: { data: this.seriesData.map(item => item.name) }, // x轴数据 yAxis: {}, // y轴配置 series: [{ type: 'line', data: this.seriesData.map(item => item.value) }], // 折线系列配置 onClick: this.handlePointClick, // 添加点击事件处理函数 }; this.chart.setOption(option); }, handlePointClick: function (params) { const { name, value } = params.data; // 获取点击的点名称和值 wx.showModal({ title: '点击详情', content: `点名:${name}\n值:${value}`, showCancel: false, }); }, ``` 4. 更新数据或重绘图表(如果需要动态数据): 当数据更新后,调用 `this.chart.setOption()` 方法重新设置图表选项。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值