antvis/G2

给 rangeX 和 rangeY 增加 data 语法糖 #5803

pearmini posted onGitHub

AntV Open Source Contribution Plan(可选)

  • 我同意将这个 Issue 参与 OSCP 计划

Issue 类型

中级任务

任务介绍

使得 rangeX 支持以下的语法,解决 https://github.com/antvis/G2/issues/4572 提到的第一个问题。

<img src="https://github.com/antvis/G2/assets/49330279/d3c7545b-b041-4d54-b7f3-59b9d6aba834" width=640 />

import { Chart } from '@antv/g2';

const chart = new Chart({
  container: 'container',
  autoFit: true,
});

chart.data({
  type: 'fetch',
  value:
    'https://gw.alipayobjects.com/os/bmw-prod/551d80c6-a6be-4f3c-a82a-abd739e12977.csv',
});

chart.line().encode('x', 'date').encode('y', 'close');

chart.rangeY().data([350, 600]); // 这样写就可以了

chart.render();

之前的写法:

chart.rangeY().data([[350, 600]]).encode('y', d => d)

思路:添加一个默认的 transform,参考下面的参考说明

参考说明


【deletenothing 认领】

posted by deletenothing over 1 year ago

@pearmini 你好,我对这个需求还有一些疑问,1,请问这个语法糖需要考虑data为[[300,400],[500,600]]这样多个数组的情况吗;2,请问对于RangeX想要实现什么样的效果可以再说明一下吗

posted by deletenothing over 1 year ago

@deletenothing

  1. 需要考虑 [[300,400],[500,600]] 的情况。
  2. rangeX 和 rangeY 类似,也需要支持同样的语法糖,只不过绘制的是竖直方向的区域。
posted by pearmini over 1 year ago

Fund this Issue

$0.00
Funded

Pull requests