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

配置slider的formatter后,sparkline不再显示 #6137

Closed
peaceps opened this issue Mar 18, 2024 · 4 comments · Fixed by #6317
Closed

配置slider的formatter后,sparkline不再显示 #6137

peaceps opened this issue Mar 18, 2024 · 4 comments · Fixed by #6317
Assignees

Comments

@peaceps
Copy link

peaceps commented Mar 18, 2024

问题描述

配置slider的formatter后,sparkline不再显示

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

const data = [
  { year: '1991', value: 3 },
  { year: '1992', value: 4 },
  { year: '1993', value: 3.5 },
  { year: '1994', value: 5 },
  { year: '1995', value: 4.9 },
  { year: '1996', value: 6 },
  { year: '1997', value: 7 },
  { year: '1998', value: 9 },
  { year: '1999', value: 13 },
];

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

chart
  .data(data)
  .encode('x', 'year')
  .encode('y', 'value');

chart
  .line()
  .slider('x', {
    formatter: t => Math.floor(1991 + t * 8).toString() + '年'
  });

chart.render();

重现链接

No response

重现步骤

No response

预期行为

slider label的formatter应该不会影响sparkline的绘制
看代码在slider.ts里有如下判断

if (slider?.x && Object.keys(slider.x).length === 0) {
  ...添加sparkline数据

不是很确定这里检查key.length===0的用意,可能是为了避免和某些配置参数的冲突?
但是感觉比起直接忽略sparkline,暴露不绘制sparkline的选项更友好

平台

  • 操作系统: [macOS, Windows, Linux, React Native ...]
  • 网页浏览器: [Google Chrome, Safari, Firefox]

屏幕截图或视频(可选)

No response

补充说明(可选)

No response

重现链接

No response

重现步骤

No response

预期行为

No response

平台

  • 操作系统: [macOS, Windows, Linux, React Native ...]
  • 网页浏览器: [Google Chrome, Safari, Firefox]

屏幕截图或视频(可选)

image

image

补充说明(可选)

No response

@qtj4js
Copy link

qtj4js commented May 17, 2024

想问一下,这个任务有考虑解决么?

@D15OS
Copy link

D15OS commented May 27, 2024

是的,只要添加任何配置,sparkline就不会显示

@deletenothing
Copy link
Contributor

deletenothing commented Jun 18, 2024

你好,发现该issue是我之前PR的代码导致。当时这个判断应该只是想把出现sparkline的条件设置得更严格,此处确实对g2的相关配置项不够了解所致。请问我可否提PR删除该逻辑。
第二,我在review代码的时候发现了另一处数据处理bug。如果slider配置在面积图的第二个图上,sparkline没有起效。也可一并修复。
第三,想问一下,目前的sparkline数据通道只考虑了'y'和 'series'。对于其他数据通道我不怎么熟悉,想问问有无其他情况下需要处理和考虑的。
第四,目前sparkline的颜色和图例以及tooltip之类的不一致。如果我想优化这个,可以给一些提示吗
@pearmini @hustcc

@pearmini
Copy link
Member

@deletenothing

请问我可否提PR删除该逻辑。

当然没有问题!你可以先把修复这个问题的 PR 提交上来,然后我根据 PR 再看看你后面的问题 🤣

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

6 participants