关于微信小程序中如何实现数据可视化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 编辑过 |
关键字查询
相关文章
正在查询... |