如何编写JavaScript算法来精确计算echarts图表中y轴的长尾数值刻度?
- 内容介绍
- 文章标签
- 相关推荐
本文共计3317个文字,预计阅读时间需要14分钟。
目录+前言+算法描述+代码+ts版本(2021/3/10补充)+结语+前言+实际工作的公司是做大数据的,而我的工作刚良好,又是需要绘制一些数据图表的。绘制图表有许许多多的组件可以使用,但要想达到预期,需要考虑以下几点:
目录
- 前言
- 算法描述
- 代码
- ts版本(2021/3/10补充)
- 结语
前言
因实习的公司是做大数据的,而我的工作刚好又是需要绘制一些数据图表的。绘制图表有许多现成的组件可以使用,但是要想达到产品所需要的效果,只靠组件内部的一些功能是不太够的。一些细腻的要求必须在掌握组件原理方法的情况下,自己去写算法来完成。例如,本文要说的这个刻度计算算法,开始正文之前,我先描述遇到的问题。
echarts自身的刻度计算有时候并不好用,例如有时候你希望让图表只有5条刻度线,即分成4段,echarts提供了一个参数叫splitNumber,把splitNumber设为4可以让图表尽量地分成4段,然而当数据波动较大时,echarts会自动增加分割的段数,即即使大部分数据都能正常分出4段刻度,但仍有少部分数据实际分出的段数可能不止4段。
如下面这样:
因此我们得出一个结论,echarts的splitNumber只是预估的分割段数。如果我们需要强制把刻度区间分为4段,则需要我们自己去写算法计算刻度。
本文共计3317个文字,预计阅读时间需要14分钟。
目录+前言+算法描述+代码+ts版本(2021/3/10补充)+结语+前言+实际工作的公司是做大数据的,而我的工作刚良好,又是需要绘制一些数据图表的。绘制图表有许许多多的组件可以使用,但要想达到预期,需要考虑以下几点:
目录
- 前言
- 算法描述
- 代码
- ts版本(2021/3/10补充)
- 结语
前言
因实习的公司是做大数据的,而我的工作刚好又是需要绘制一些数据图表的。绘制图表有许多现成的组件可以使用,但是要想达到产品所需要的效果,只靠组件内部的一些功能是不太够的。一些细腻的要求必须在掌握组件原理方法的情况下,自己去写算法来完成。例如,本文要说的这个刻度计算算法,开始正文之前,我先描述遇到的问题。
echarts自身的刻度计算有时候并不好用,例如有时候你希望让图表只有5条刻度线,即分成4段,echarts提供了一个参数叫splitNumber,把splitNumber设为4可以让图表尽量地分成4段,然而当数据波动较大时,echarts会自动增加分割的段数,即即使大部分数据都能正常分出4段刻度,但仍有少部分数据实际分出的段数可能不止4段。
如下面这样:
因此我们得出一个结论,echarts的splitNumber只是预估的分割段数。如果我们需要强制把刻度区间分为4段,则需要我们自己去写算法计算刻度。

