antvis/G2

分组柱状图的排序可以不根据legend的顺序,根据数据源的顺序吗 #3653

yumanfeng posted onGitHub

  • I have searched the issues of this repository and believe that this is not a duplicate.

Edit on CodeSandbox

Steps to reproduce

第二个分组柱状图,期望的顺序,是按照数据源的顺序,目前看起来是按照legend的顺序进行了第二次排序 image

Environment Info
g2 4.0.12
System -
Browser -

<!-- generated by antv-issue-helper. DO NOT REMOVE -->


图例是看图形的辅助元素,所以图例的顺序一定是和数据相同的。

上图中第二组有异常的原因是:提供的色板数量少于分组数,导致颜色重复了。

posted by hustcc over 3 years ago

图例是看图形的辅助元素,所以图例的顺序一定是和数据相同的。

上图中第二组有异常的原因是:提供的色板数量少于分组数,导致颜色重复了。

https://codesandbox.io/s/summer-river-pmqq6?file=/src/index.js 这个demo,把颜色去掉了,还是存在这样的问题,期望的第二组柱状图的顺序是按照数据源的顺序:现代简约、日式、港式、简欧。 image

posted by yumanfeng over 3 years ago

因为这个数据中,有一些城市没有某一些分类值。

你的意思是需要:如果没有这个分类值,也需要吧位置预留出来嘛?

posted by hustcc over 3 years ago

因为这个数据中,有一些城市没有某一些分类值。

你的意思是需要:如果没有这个分类值,也需要吧位置预留出来嘛?

位置预留出来,指的是没有的legend,会有空白的柱状图吗?这里不希望有空白的柱状图占位,如果没有legend,就不渲染,但是柱状图的顺序还是希望是按照数据源的顺序。 需求现状是:每一组 x,不会包含所有的 legend,只含有部分 legend,且每组x的 legend 不相同。

posted by yumanfeng over 3 years ago

且每组x的 legend 不相同

legend 是所有分类的,tooltip 是按照分组中有几项数据就显示几项。目前,如果某一组不存在其中一个分类,那么这么分类的柱子是不绘制的,也不会预留空白位置。

posted by hustcc over 3 years ago

且每组x的 legend 不相同

legend 是所有分类的,tooltip 是按照分组中有几项数据就显示几项。目前,如果某一组不存在其中一个分类,那么这么分类的柱子是不绘制的,也不会预留空白位置。

“柱子是不绘制的,也不会预留空白位置”,这个目前是这样的。但是柱子会按照分类重新排序,这里可以支持一下按照传入的数据源的顺序吗?

posted by yumanfeng over 3 years ago

请问解决了吗,遇到相同的业务问题@yumanfeng

posted by zss7819 over 2 years ago

这个数据顺序需要你提供从 data 中获取,然后通过设置 scale 的 values 来设置顺序。

chart.scale("legend", {
  values: ['现代简约', '简欧'/* ... */]
});

@yumanfeng @zss7819

posted by hustcc over 2 years ago

Fund this Issue

$0.00
Funded

Pull requests