图形排序的使用操作、排序设置和逻辑,基本和表格组件一样,表格组件排序功能说明详见:数据排序逻辑。
由于每种图形的展示效果和业务含义都不一样,所以本文主要是介绍,相对于表格组件,图形的排序功能有哪些区别和使用注意事项。
先用一个简单的图形排序示例展示排序功能,方便理解下文的排序逻辑。详细的排序操作说明详见:数据排序逻辑。
比如要按合同金额降序查看各行业的合同签约情况,此时在 合同金额 字段上设置 排序>组内降序,即可得到所需效果,设置方式如下图所示:
对于上面的排序示例,我们可以看到在合同金额上设置的排序,是直接影响柱图X轴刻度标签的顺序,那如果在X轴、颜色等区域的字段上设置排序,这些排序设置又是影响哪里的顺序?
比如基于上述的排序示例增加新的要求:要按合同金额降序查看各行业的合同签约情况,且每个行业内的收入类型需按照 “服务、销售、维护” 顺序显示,两部分的排序顺序相互不影响,如下图所示:
所以在不同位置的字段上设置排序,就产生了排序影响区域的问题。
和表格的逻辑一样,当排序设置影响的是同一个区域时,会产生排序优先级;当排序设置影响的不是同一个区域,则两个排序设置互相不影响。那如何去定义图形的排序影响区域?
考虑到实现数据排序逻辑是在底层数据层处理,而组件类型(如图形、表格等)是应用层的概念,为了保证排序逻辑统一、简化排序相关概念,数据层排序走统一一套排序逻辑,所以统一使用 行区 和 列区 作为所有组件的排序影响区域的命名划分。
对于表格,有明确的行列区划分,且数据顺序相互不影响,排序影响区域用行区和列区作为区分,比较好理解;但对于图形,在界面上并没有明确区域映射关系。
所以对于图形组件的不同位置所属的区域和排序优先级,有以下的通用原则:
针对上面第一点放 维度字段 的场景,下表详细说明每种图形类型的行列区映射关系。
分类 | 图形名称 | 行区 | 列区 | 不支持排序功能 | 特殊说明 | |||||||
表格位置1 | 表格位置2 | 表格位置3 | 表格位置4 | 表格位置1 | 表格位置2 | 表格位置3 | ||||||
柱图 | 柱图 | X轴 | 颜色 | 标签 | 提示 | 提示不改变图形外观。 | ||||||
堆积柱图 | X轴 | 颜色 | 标签 | 提示 | ||||||||
横条图 | Y轴 | 颜色 | 标签 | 提示 | ||||||||
堆积横条图 | Y轴 | 颜色 | 标签 | 提示 | ||||||||
瀑布图 | X轴 | 颜色 | 标签 | 提示 | 颜色不支持拖字段,标签和提示不改变图形外观的。 | |||||||
对比柱图 | X轴 | 颜色 | 标签 | 提示 | 提示不改变图形外观。 | |||||||
极坐标柱图 | X轴 | 颜色 | 提示 | |||||||||
极坐标堆积柱图 | X轴 | 颜色 | 提示 | |||||||||
分区柱图 | X轴 | 颜色 | 标签 | 提示 | ||||||||
趋势线 | 线图 | X轴 | 颜色 | 标签 | 提示 | |||||||
堆积线图 | X轴 | 颜色 | 标签 | 提示 | ||||||||
曲线图 | X轴 | 颜色 | 标签 | 提示 | ||||||||
堆积曲线图 | X轴 | 颜色 | 标签 | 提示 | ||||||||
阶梯线图 | X轴 | 颜色 | 标签 | 提示 | ||||||||
堆积阶梯线图 | X轴 | 颜色 | 标签 | 提示 | ||||||||
极坐标曲线图 | X轴 | 颜色 | 标签 | 提示 | ||||||||
面积图 | X轴 | 颜色 | 标签 | 提示 | ||||||||
堆积面积图 | X轴 | 颜色 | 标签 | 提示 | ||||||||
曲线面积图 | X轴 | 颜色 | 标签 | 提示 | ||||||||
堆积曲线面积图 | X轴 | 颜色 | 标签 | 提示 | ||||||||
饼图 | 饼图 | 颜色 | 标签 | 提示 | 标签和提示不改变图形外观的。 | |||||||
环形图 | 颜色 | 标签 | 提示 | |||||||||
半径玫瑰图 | 颜色 | 标签 | 提示 | |||||||||
玫瑰图 | 颜色 | 标签 | 提示 | |||||||||
联合图 | 单Y联合图 | X轴 | 颜色 | 标签 | 提示 | 提示不改变图形外观。 | ||||||
双Y联合图 | X轴 | 颜色 | 标签 | 提示 | ||||||||
地图 | 区域地图 | 颜色 | 区域/经度地理维 | 纬度地理维 | 标签 | 提示 | 标签、大小不支持拖字段,提示不改变图形外观的。 | |||||
散点地图 | 颜色 | 形状 | 区域/经度地理维 | 纬度地理维 | 标签 | 提示 | ||||||
热力地图 | 颜色 | 区域/经度地理维 | 纬度地理维 | 标签 | 大小 | |||||||
GIS地图 | 颜色 | 形状 | 区域/经度地理维 | 纬度地理维 | 标签 | 提示 | 标签和提示不改变图形外观的。 | |||||
高级 | 散点图 | X轴 | Y轴 | 颜色 | 标签 | 提示 | 提示不改变图形外观。 | |||||
大数据散点图 | X轴 | Y轴 | 颜色 | 提示 | ||||||||
旭日图 | 维度 | 提示 | ||||||||||
矩阵树图 | 颜色 | 标签 | 提示 | |||||||||
词云图 | 颜色 | 标签 | 提示 | |||||||||
热力图 | X轴 | Y轴 | 标签 | 提示 | 标签不支持拖字段,提示不改变图形外观的。 | |||||||
桑基图 | 维度 | 颜色 | 标签 | 提示 | 颜色和标签不支持拖字段,提示不改变图形外观的。 | |||||||
关系图 | 维度 | 颜色 | 标签 | 提示 | 提示不改变图形外观。含力导向关系图、环形关系图。 | |||||||
雷达图 | 维度 | 颜色 | 标签 | 提示 | 标签不支持拖字段,提示不改变图形外观的。含棱角面积雷达图、棱角线雷达图、圆环面积雷达图、圆环线雷达图。 | |||||||
漏斗图 | 颜色 | 标签 | 提示 | 标签和提示不改变图形外观的。漏斗图、升序漏斗图、左降序漏斗图、右降序漏斗图、左升序漏斗图、右升序漏斗图。 | ||||||||
指标 | 指标卡 | 维度 | 提示 | 提示不改变图形外观。 | ||||||||
油量图 | 提示 | 提示不改变图形外观。含油量图、环形进度图、外刻度油量图、内刻度油量图。 | ||||||||||
水球图 | 颜色 | 提示 | 颜色不支持拖字段,提示不改变图形外观的。 | |||||||||
进度图 | 维度 | 颜色 | 提示 | 提示不改变图形外观。 |
1、旭日图受限于第三方组件的渲染逻辑,显示顺序只和类别名称有关,在旭日图上设置的排序,实际看不出排序变化。
2、漏斗图本身已隐含排序效果,在 大小 上设置的排序,实际看不出排序变化。
3、桑基图,当数据较多时,在字段上设置的排序,可能会看不出数据顺序变化,如下图所示:
原因是从数据层按排序设置取回数据后,前端渲染时ECharts会自动计算这些节点的最佳位置,使得整个图表既美观又能清晰地显示数据流的方向和量级。ECharts自动优化布局大概有以下方向:
如ECharts判断不需要优化,则按照字段数据排序顺序直接展示。
4、指标拆解树,当前版本在字段上并未开放排序入口,指标拆解树的排序本身是各个维度按指标值进行排序,需等未来 按其他字段值排序 的功能上线后,再开放排序入口。
场景示例一:
要按合同金额降序整体查看各行业的合同签约情况,此时在 合同金额 字段上设置 排序>组内降序,即可得到所需效果,设置方式如下图所示:
X轴上的行业名称的顺序是按合同金额的值进行排序,不受颜色标记上的字段影响。
场景示例二:
业务人员按时间查看销售数据时,有特定的时间排序要求,比如先按年份升序,每年内再按季度降序看的销售额情况。要实现此排序效果,需要执行2步排序设置,操作说明如下:
1、此时先在在 年份 字段上设置 排序>组内升序,如下图所示:
2、再在 年季 字段上设置 排序>组内降序,即可得到所需效果,设置如下图所示:
此时X轴上先排年份,然后每年作为一个分组,组内每个季度按照季度降序排序。
场景示例三:
要按合同金额降序整体查看各行业的合同签约情况,且每个行业内的收入类型需按照 “维护、销售、服务” 顺序显示。要实现此排序效果,需要执行2步排序设置,操作说明如下:
1、先在 合同金额 字段上设置 排序>组内降序,如下图所示:
2、再在 收入类型 字段上设置 排序>高级排序,在 高级排序 弹窗中,按要求调整排序项的顺序,如下图所示:
3、点击 确定 ,即可得到所需效果,设置如下图所示:
此时X轴刻度标签的顺序和颜色块的顺序,是两个相互独立的区域,排序不相互影响。
2025年06月01日以前的版本(下文简称旧版本)和 2025年06月01日以后的V11版本(下文简称新版本)排序升级对比。
1、在度量上设置的排序影响范围变更:旧版本是影响所有维度的全局排序,新版本是仅影响行区的组内排序。下面通过详细的示例进行说明:
旧版本 | 新版本 |
---|---|
图形配置:在X轴上放两个维度字段 发货区域 和省份,在Y轴上放一个度量 销售量,此时在销售量字段上设置降序。 | |
旧版本是针对发货区域和省份所有数据做整体降序排序。 | 新版本是发货区域和省份的组内排序。发货区域先按照这销售量的值从大到小排,省份再按销售量的值从大到小组内排。 |
升级兼容方案:新版本现有功能无法兼容旧版本的效果,升级后图形无法设置回旧版本的效果。 |
行区和列区的区域映射关系详见:行区&列区的划分。
旧版本 | 新版本 |
---|---|
图形配置:在X轴上放一个维度字段 发货区域,在颜色上放一个维度 省份,在Y轴上放一个度量 销售量,此时在销售量字段上设置降序。 | |
旧版本中销售量的排序设置会影响产品类别的顺序。 | 新版本中销售量的排序设置不会影响产品类别的顺序。 |
升级兼容方案:新版本中,如果想要产品类别也要按照销售量排序,则需等未来 按其他字段值排序 的功能上线后,在产品类别上设置按销售量排序去实现。 |
2、划分行列区域后,行区和列区的排序相互不影响,新旧版本效果对比如下:
行区和列区的区域映射关系详见:行区&列区的划分。
旧版本 | 新版本 |
---|---|
图形配置:在X轴上放一个维度字段 发货区域,在颜色上放一个维度 省份,在Y轴上放一个度量 销售量,此时在 产品类别 字段上设置降序。 | |
旧版本中产品类别的排序设置会影响区域的顺序。 | 新版本中产品类别的排序设置不会影响区域的顺序。 |
升级兼容方案:新版本中,如果想要发货区域也要有顺序,则需要在发货区域上也手动设置一次排序。 |
3、新版本上针对不改变图形外观的设置上禁用了排序入口,比如 提示 等,旧版本升级后此位置的排序将失效,具体图形的禁用入口详见:图形排序区域划分。
旧版本 | 新版本 |
---|---|
旧版本中支持设置排序。 | 新版本禁用排序设置。 |
升级兼容方案:新版本中,如果想要按提示等区域的字段排序,则需等未来 按其他字段值排序 的功能上线后,在具体区域字段上设置按另一个字段值排序去实现。 |
4、受排序逻辑变更影响,输出行数截断结果会有变化。如果旧版本图形上设置了排序,且在组件属性设置中设置了 输出行数 ,若图形总的行数超过设置的输出行数时,升级到新版本后图形输出行数范围内的数据会发生变化。
原因是:旧版本是先按输出行数截断数据,再按排序设置对数据进行排序;新版本是在数据层先做好排序,再根据输出行数截断数据,所以会导致新旧版本最终呈现的数据有差异。