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

g2plot API 设计讨论 #85

Closed
paleface001 opened this issue Sep 29, 2019 · 5 comments
Closed

g2plot API 设计讨论 #85

paleface001 opened this issue Sep 29, 2019 · 5 comments
Assignees

Comments

@paleface001
Copy link
Contributor

paleface001 commented Sep 29, 2019

把之前的搬过来......

  • plot container只支持dom

plot-container

  • 先声明一个 absoluteChart, 然后 new 两个,灌入不同数据然后渲染

renderToDom

具体实现的讨论:
2333333

@aa1011372655
Copy link

个人感觉

  1. rener负责绑定的方案很赞
  2. 关于多实例,render后返回实例更容易拓展和操作(大多数库都是这样),如果统一维护map实例表还需要管理所有的更新和销毁,比较麻烦,也容易产生耦合,感觉不如抛给用户自行处理

@elaine1234
Copy link
Contributor

如果考虑 render 后返回实例,不如进一步考虑一下:

const options = {
  geom: {
      type: 'bar',                             // bar, line,pie etc...
      someUniqueOptions,           //  某种图表才支持的选项
  },          
  data,
  ...options,
};
plot.render(options);

第一,不会先有一个某种图表的实例,再有一个 render 的实例,导致用户认知上的问题;
第二,好扩展。举个例子:

屏幕快照 2019-10-08 下午4 30 29

这种图如果按照现在的 API, 可能需要搞一个新的 chart 类型?option 形式的话将 geom 定义成数组,里面分别定义 bar 和 line。相应 yAxis 也支持数组,以 index 或者 alias 形式指定这个定义的是哪个 geom 的 y 轴。

@Leannechn
Copy link
Member

对于目前将柱状图分为Column,GroupColumn,StackColumn。个人建议应该合并成一个Column。Column 实际上是单柱状图与重叠柱状图的实现途径。而实际需求上还有,重叠分组柱状图,分组堆叠柱状图。实际上他们不过是通一份数据的不同展示

@paleface001
Copy link
Contributor Author

这种图如果按照现在的 API, 可能需要搞一个新的 chart 类型?option 形式的话将 geom 定义成数组,里面分别定义 bar 和 line。相应 yAxis 也支持数组,以 index 或者 alias 形式指定这个定义的是哪个 geom 的 y 轴。

这种feature会在混合图表支持,现在已经单独把layer(图层)抽出来了~

@aa1011372655
Copy link

长远来看,区分的细致一点更容易解耦,如果以后能够提供动态打包的功能也能够在一些图形上做一些代码的取舍,或者做成不同图形从cdn直接异步获取的形式,能够更好地缩减主体入口的文件体积

@paleface001 paleface001 pinned this issue Oct 18, 2019
@paleface001 paleface001 unpinned this issue Nov 12, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

7 participants