需求
在折线图的最后一个节点增加一个gif动图表示增长
一、静态图的使用
采用symbol属性进行设置,结果就是只能展示静态图 无法插入gif
series: [
{
data: [150, 230, 224, 218, 135, 147, {
value:200,
symbol:'image://https://ylxstatic.storage.ylingxin.com/val/qc-merchant/ylx-fileresources/qc/test/default/20241023/17296636721833273图片.gif',
symbolSize:90
}],
type: "line",
},
],
二、使用动态图
-
自定义渲染:
你可以通过Echarts的graphic
组件或renderer
API来自定义渲染GIF图片。这种方法比较复杂,需要你手动控制图片的渲染和更新,以实现动画效果。但是,这通常涉及到对Echarts内部渲染机制的了解,并且可能不如直接使用静态图片简单 -
使用Canvas或SVG动画:另一个选项是在Echarts图表之外使用Canvas或SVG来绘制和动画GIF图片。这可以通过监听Echarts的渲染事件,然后在图表上绘制额外的元素来实现。
-
使用节点坐标加绝对定位
var coordinates=[]
var seriesIndex = 0; // 假设只有一个系列
var dataPoints = option.series[0].data
console.log(dataPoints);
dataPoints.map((item,index)=>{
const x=myChart.convertToPixel({ xAxisIndex: 0 },index);
const y=myChart.convertToPixel({ yAxisIndex: 0 },item);
coordinates.push({ x: x, y: y });
})
console.log('所有节点的坐标是:', coordinates);
获取到每一个节点后 更具阶段坐标加图标的自生pandin值进行left和top的动态计算