G2
G2 copied to clipboard
配置slider的formatter后,sparkline不再显示
问题描述
配置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]
屏幕截图或视频(可选)
补充说明(可选)
No response
想问一下,这个任务有考虑解决么?
是的,只要添加任何配置,sparkline就不会显示
你好,发现该issue是我之前PR的代码导致。当时这个判断应该只是想把出现sparkline的条件设置得更严格,此处确实对g2的相关配置项不够了解所致。请问我可否提PR删除该逻辑。 第二,我在review代码的时候发现了另一处数据处理bug。如果slider配置在面积图的第二个图上,sparkline没有起效。也可一并修复。 第三,想问一下,目前的sparkline数据通道只考虑了'y'和 'series'。对于其他数据通道我不怎么熟悉,想问问有无其他情况下需要处理和考虑的。 第四,目前sparkline的颜色和图例以及tooltip之类的不一致。如果我想优化这个,可以给一些提示吗 @pearmini @hustcc
@deletenothing
请问我可否提PR删除该逻辑。
当然没有问题!你可以先把修复这个问题的 PR 提交上来,然后我根据 PR 再看看你后面的问题 🤣