秋云图表插件,解决小程序端不支持markArea绘制区域功能
最近uniapp小程序项目上需要绘制混合图表。
本来使用的原生的Echart图表,但是,但是,但是包太大了,小程序被超包了,无法上传上去。没办法,只能找轻量的插件秋云啰
可能你会说可以使用Echart定制,哎。。。。我试了,还是太大了。
好吧说问题
本来使用的原生的Echart图表,但是,但是,但是包太大了,小程序被超包了,无法上传上去。没办法,只能找轻量的插件秋云啰
可能你会说可以使用Echart定制,哎。。。。我试了,还是太大了。
好吧说问题

上面我绿框圈中的部分,秋云在小程序上不支持。可能你会说,也可以使用区域图呀,嘻嘻,我也想过,还试过了,没办法,区域图它会直接到0坐标。全覆盖。不行。
或者你想说可以直接用markLine来替代呀!一个最小值,一个最大值就可以了,两根线中间就是安全区域。哎。。。。不行,设计稿就是一个块状区域,客户也指定的是区域。
所以没办法,我只能尝试自己修改源码【我就是想偷懒,一点都不想改源码】,自己手写添加markArea来绘制。
第一步:
我们先想一想,区域重要的一点是什么?
当然是最大Y轴值和最小Y轴值啦
【你们也能看到我的Y轴有2根,左右两边,我的项目需求是区域图的值是针对右边的Y轴的】
好的,我的最小值是0.8,最大值是1.5【0.8~1.5】范围
第二步:
需要添加属性,可以类似余markLine

其中yAxisIndex:1表示的就是针对右侧Y轴。
areaColor这个参数也是我自己取名的,表示的就是区域填充颜色
第三步:就需要绘制啦!
1.当然我们先要找到源码的位置,及绘制canvas的位置


这个方法就是绘制图表的地方。
2.我们再找到我们要绘制的图表类型:我自己在该图表中是绘制的混合图mix


嘻嘻,看到了吗?drawMarkLine一看意思就是绘制标线markLine的
所以我们可以找到它,并参考。先赋值粘贴改改


上图是不是不太ok.没关系。我们先创建一个drawMarkArea
在获取到我们传过来的值
之后再将min+max的值转为坐标【这块有点难】嘻嘻,很简单,我们先找到markLine是怎么转换的,我们复制粘贴一份出来。

ok!`完美。

浙公网安备 33010602011771号