antvis/G2

Do you want to work on this issue?

You can request for a bounty in order to promote it!

[v5] rangeY 使用, 同理 rangeX #4572

visiky posted onGitHub

描述

1、rangeY 是否可以不用声明 encode('y', d => d) 2、期望实现 chart.rangeY().data([ [350, 'max'] ]) 的功能,该如何实现?可以给一个例子么

<img width="420" alt="image" src="https://user-images.githubusercontent.com/15646325/211981243-934f1ade-14f2-4e19-b71f-d62f4e216122.png">

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]])
// 如果没有声明 encode, 则无法显示
//  .encode('y', d => d);

chart.render();

目前使用过 transform 自行获取到 column data,然后进行处理。期待后续 G2 可以内置


之后会统一考虑这些语法糖:chart.rangeY().data([350, '$max'])

posted by pearmini over 2 years ago

@deletenothing 看你解决了 https://github.com/antvis/G2/issues/5803 这个 issue,当前问题和这个类似,看看是否有空来搞一把?

posted by hustcc 8 months ago

@deletenothing 看你解决了 #5803 这个 issue,当前问题和这个类似,看看是否有空来搞一把?

@hustcc 是指 2、期望实现 chart.rangeY().data([ [350, 'max'] ]) 的功能 这个吗? 可以试试。以及,是否需要支持['min', 350]或其他计算方式呢

posted by deletenothing 8 months ago

需要,其实就是可以覆盖某个区域,区域的最大最小值,不需要开发者自己去外部计算。

甚至可以支持回调,让开发者根据数据自己决定一个位置。

posted by hustcc 8 months ago

标注的数据,新增 min、max、median、mean 等语法糖统计功能,甚至支持回调方法。

posted by hustcc 5 months ago

标注的数据,新增 min、max、median、mean 等语法糖统计功能,甚至支持回调方法。

你好,我在试图增加这个feat的时候遇到了以下问题: min、max、median、mean之类的功能应该是根据mark的数据来计算,但是对于range的preInference,似乎只能拿到range这部分本身传入的data,我要怎样在transform里拿到全部的数据用来计算min、max之类的呢

posted by deletenothing 5 months ago

@deletenothing 好问题,所以可能不能支持这样的语法糖。如果想是想相似的功能的话,应该参考的 Group transform 的设计:


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

chart.line();

chart
  .rangeY()
  .transform({ type: 'summary', x: 0, y: 'max' });
posted by pearmini 5 months ago

Fund this Issue

$0.00
Funded
Only logged in users can fund an issue

Pull requests