关于微信小程序中如何实现数据可视化echarts动态渲染,去除文字阴影,解决图标模糊问题
当前位置:点晴教程→知识管理交流
→『 技术文档交流 』
移动端设备中,难免会涉及到数据的可视化展示、数据统计等等,本篇主要讲解原生微信小程序中嵌入 基础使用首先在 { "usingComponents": { "ec-canvas": "/ec-canvas/ec-canvas" } } 在页面中使用 <view class="line_chart"> <ec-canvas class="chart" id="charts" canvas-id="mychart-line" ec="{{ ec }}"></ec-canvas></view> 先给 .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 // 图标宽 }); canvas.setChart(chart); // 此为配置项。配置图表展现样式与数据 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({ /** * 页面的初始数据 */ data: { // 此处的ec名称与wxml结构中命名保持一致 ec: { // 使用 onInit 方法定义 onInit: initChart } }, /** * 生命周期函数--监听页面加载 */ onLoad(options) { }, }) 在 动态渲染echarts我们会根据业务场景,传入不同的数据进行动态渲染 var chart = null; // 重要-保存chart为全局实例 // initChart必须为全局函数 function initChart(canvas) { chart = echarts.init(canvas, null, { height: 250, }); canvas.setChart(chart); return chart; } 当你的数据变化后,重新渲染 data: { ec: { onInit: initChart } }, getData() { return { // 你配置的的options数据...... }; }, getCharts() { setTimeout(() => { // 由于chart被你定义为全局,所以这里可以直接获取 // 通过setOption设置options数据,刷新图标 chart.setOption(this.getData(), true) }, 1500) } 解决真机文字阴影在 tooltip: { textStyle: { textShadowBlur: 10, // 去掉文字阴影 textShadowColor: 'transparent', // 去掉文字阴影 }, }, 解决图标模糊问题在真机中 function initChart(canvas) { // 获取设备像素比 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 // 设置初始化像素比 }); canvas.setChart(chart); return chart; } 此时图表的像素就会按照设配像素比进行渲染 另外 该文章在 2023/11/27 16:40:47 编辑过 |
关键字查询
相关文章
正在查询... |