Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: 对称条形图(Bi-directional) #1746

Merged
merged 5 commits into from
Oct 29, 2020
Merged

feat: 对称条形图(Bi-directional) #1746

merged 5 commits into from
Oct 29, 2020

Conversation

arcsin1
Copy link
Contributor

@arcsin1 arcsin1 commented Oct 18, 2020

  • Bidirectional options 定义,基本思路

  • 具体实现

  • 完整单测test

  • 有些小问题 中间没想到怎么处理

C6E197E8-5585-4189-98F9-399E7B8BFD86

image

@auto-add-label auto-add-label bot added the enhancement New feature or request label Oct 18, 2020
@github-actions
Copy link
Contributor

github-actions bot commented Oct 18, 2020

😭 Deploy PR Preview e420761 failed. Build logs

🤖 By surge-preview

@arcsin1 arcsin1 requested a review from hustcc October 18, 2020 04:08
@lgtm-com
Copy link

lgtm-com bot commented Oct 18, 2020

This pull request introduces 1 alert when merging 898fa32 into f7febd6 - view on LGTM.com

new alerts:

  • 1 for Unused variable, import, function or class

@hustcc hustcc requested a review from visiky October 18, 2020 04:51
@hustcc
Copy link
Member

hustcc commented Oct 18, 2020

几个大一点的问题先抛出来讨论: @me-momo @lxfu1 @zqLu

  1. 命名(对称条形图)用什么?什么依据?
  2. 是否需要支持堆积/分组 的对称条形图?

@arcsin1
Copy link
Contributor Author

arcsin1 commented Oct 18, 2020

几个大一点的问题先抛出来讨论: @me-momo @lxfu1 @zqLu

  1. 命名(对称条形图)用什么?什么依据?
  2. 是否需要支持堆积/分组 的对称条形图?
  1. 很多小细节没处理好,主要我先把实现方式弄出来,看大家统一不
    2.名字我写错了 应该是Bidirectional (双向性的,堆积和分组感觉没啥必要 是正负条形图)
  2. 参考设计:https://antv.antfin.com/zh-cn/vis/chart/bi-directional-bar.htmll

@hustcc
Copy link
Member

hustcc commented Oct 19, 2020

几个大一点的问题先抛出来讨论: @me-momo @lxfu1 @zqLu

  1. 命名(对称条形图)用什么?什么依据?
  2. 是否需要支持堆积/分组 的对称条形图?
  1. 很多小细节没处理好,主要我先把实现方式弄出来,看大家统一不
    2.名字我写错了 应该是Bidirectional (双向性的,堆积和分组感觉没啥必要 是正负条形图)
  2. 参考设计:https://antv.vision/old-site/vis/doc/chart/details/bi-directional-bar.html
  1. 也有一种命名叫 tornano charts ,可以搜一下看看。Bidirectional 这个命名我问下网站作者,是否合理。
  2. 我觉的 ok

@hustcc
Copy link
Member

hustcc commented Oct 19, 2020

确认了一下,名字为 BidirectionalBar 吧!bidirectional-bar。

@hustcc
Copy link
Member

hustcc commented Oct 21, 2020

  1. marginRatio 配置还是可以保留的。
  2. 另外一个点,现在是通过 seriesField 去分组,然后去前两个。还有一种做法就是两侧用不同的度量去配置。第二种方法的好处在于可以分别配置 meta。而且保留 seriesField 可以用来做对称的分组条/柱形图
  3. 现在是对称的条形图,后续是否会做上下分布的对称柱形图?

@arcsin1
Copy link
Contributor Author

arcsin1 commented Oct 21, 2020

  1. marginRatio

marginRatio 这个我看是分组的时候才有用,毕竟这个图形不适合分组吧?
对称条形图 不适合做分组的

@arcsin1
Copy link
Contributor Author

arcsin1 commented Oct 21, 2020

  1. marginRatio

marginRatio 这个我看是分组的时候才有用,毕竟这个图形不适合分组吧?
对称条形图 不适合做分组的
虽然堆叠好分组可以支持,我总觉得干扰性太差了,图形的可读性也差

@hustcc
Copy link
Member

hustcc commented Oct 21, 2020

  1. marginRatio

marginRatio 这个我看是分组的时候才有用,毕竟这个图形不适合分组吧?
对称条形图 不适合做分组的

哦哦,对,只有分组才有 marginRatio 我疏忽了。设计中确实是有堆积的,现在通过拆分来分组出两组数据,也需要前置对数据进行过滤出两个选择维值,而且需要指定左边对应什么维值,右边对应什么维值。所以不如直接采用指标数组的方式去配置,这样不仅指定了顺序,也限制了个数,还可以分别配置 meta。

实际在我们 bi 中图形,也是配置的左右指标。

@arcsin1
Copy link
Contributor Author

arcsin1 commented Oct 21, 2020

  1. marginRatio

marginRatio 这个我看是分组的时候才有用,毕竟这个图形不适合分组吧?
对称条形图 不适合做分组的

哦哦,对,只有分组才有 marginRatio 我疏忽了。设计中确实是有堆积的,现在通过拆分来分组出两组数据,也需要前置对数据进行过滤出两个选择维值,而且需要指定左边对应什么维值,右边对应什么维值。所以不如直接采用指标数组的方式去配置,这样不仅指定了顺序,也限制了个数,还可以分别配置 meta。

实际在我们 bi 中图形,也是配置的左右指标。

这样不符合 这个图形的定义了吧?你那个建议用双轴了吧,上下对比要支持下
image

@hustcc hustcc self-requested a review October 29, 2020 02:12
@hustcc
Copy link
Member

hustcc commented Oct 29, 2020

TODO:

  1. 合并 0 axis label
  2. 左右 view 的宽高保持一致大小。 G2 层 syncViewPadding 支持 function,然后上层自己来调整。

@hustcc hustcc merged commit e420761 into master Oct 29, 2020
@hustcc hustcc deleted the bi-directional branch October 29, 2020 02:19
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request PR: merged
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants