echarts 散点图分段式渐变色(分段型视觉映射组件)
echarts 分段型视觉映射组件,有三种模式:
连续型数据平均分段: 依据 visualMap-piecewise.splitNumber 来自动平均分割成若干块。
连续型数据自定义分段: 依据 visualMap-piecewise.pieces 来定义每块范围。
离散数据根据类别分段: 类别定义在 visualMap-piecewise.categories 中。
连续型数据平均分段
对于连续型数据,自动平均切分成几段。默认为5段。 连续数据的范围需要 max 和 min 来指定。
visualMap: {
type: 'piecewise',
min: 0,
max: 900,
calculable: true,
splitNumber = 5
}
连续型数据自定义分段
自定义『分段式视觉映射组件(visualMapPiecewise)』的每一段的范围,以及每一段的文字,以及每一段的特别的样式。例如:
pieces: [
{min: 1500}, // 不指定 max,表示 max 为无限大(Infinity)。
{min: 900, max: 1500},
{min: 310, max: 1000},
{min: 200, max: 300},
{min: 10, max: 200, label: '10 到 200(自定义label)'},
{value: 123, label: '123(自定义特殊颜色)', color: 'grey'}, // 表示 value 等于 123 的情况。
{max: 5} // 不指定 min,表示 min 为无限大(-Infinity)。
]
或者,更精确得,可以使用 lt(小于,less than),gt(大于,greater than),lte(小于等于 less than or equals),gte(大于等于,greater than or equals)来表达边界:
pieces: [
{gt: 1500}, // (1500, Infinity]
{gt: 900, lte: 1500}, // (900, 1500]
{gt: 310, lte: 1000}, // (310, 1000]
{gt: 200, lte: 300}, // (200, 300]
{gt: 10, lte: 200, label: '10 到 200(自定义label)'}, // (10, 200]
{value: 123, label: '123(自定义特殊颜色)', color: 'grey'}, // [123, 123]
{lt: 5} // (-Infinity, 5)
]
例如:
visualMap: {
type: 'piecewise',
min: 0,
max: 900,
calculable: true,
dimension: 2, // 维度 默认最后
seriesIndex: 0, // 取数据得哪一个系列
left: 'right',
top: 'top',
itemWidth: 18,
textStyle: {
color: '#3259B8',
height: 56,
fontSize: 11,
lineHeight: 60
},
inRange: {
color: ['#1890ff', '#dcb727', '#2fc25b', '#eb7a1e', '#5558f1', '#24b0e8']
},
pieces: [
{ value: 0 }, // (1500, Infinity]
{ gt: 0, lte: 250 }, // (900, 1500]
{ gt: 250, lte: 350 }, // (310, 1000]
{ gt: 350, lte: 450 }, // (200, 300]
{ gt: 450, lt: 800 }, // (10, 200]
{ gte: 800 }
],
orient: 'horizontal'
}
效果:
离散数据根据类别分段
当所指定的维度(visualMap-piecewise.dimension)的数据为离散型数据时,例如数据值为『优』、『良』等,那么可如下配置:
categories: ['严重污染', '重度污染', '中度污染', '轻度污染', '良', '优'],
顺序的话参考:
当inverse为false时,数据大小的位置规则,和直角坐标系相同,即:
当 visualMap.orient 为'vertical'时,数据上大下小。
当 visualMap.orient 为'horizontal'时,数据右大左小。
当inverse为true时,相反。