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

「BUG AntV G2」柱状图加折线图的双轴图中会出现无数据图形占位 #6308

Open
CrazyOctopusDan opened this issue Jun 21, 2024 · 0 comments

Comments

@CrazyOctopusDan
Copy link

问题描述

我需要有一张双柱形图+折线图+双坐标轴的chart。
在我把数据处理好传入后发现刻度没有对准中间区域,我以为是柱形图画歪了,仔细检查过后发现其实是存在了一个空数据的柱形图绘制在了坐标轴中:期望为「销售金额」「指标金额」两个柱形图,实际上多了一个未知柱形图。

数据为

const TrendChartData = [
  {
    year: '202401',
    name: '销售金额',
    amount: 69000000
  },
  {
    year: '202401',
    name: '指标金额',
    amount: 55000000
  },
  {
    year: '202401',
    rateType: '达成率',
    rate: 1.3
  },
  {
    year: '202401',
    rateType: '同比',
    rate: 0.01
  },
  {
    year: '202401',
    rateType: '环比',
    rate: 0.9
  },
  {
    year: '202402',
    name: '销售金额',
    amount: 70000000
  },
  {
    year: '202402',
    name: '指标金额',
    amount: 60000000
  },
  {
    year: '202402',
    rateType: '达成率',
    rate: 1.3
  },
  {
    year: '202402',
    rateType: '同比',
    rate: 0.01
  },
  {
    year: '202402',
    rateType: '环比',
    rate: 1
  },
  {
    year: '202403',
    name: '销售金额',
    amount: 75000000
  },
  {
    year: '202403',
    name: '指标金额',
    amount: 65000000
  },
  {
    year: '202403',
    rateType: '达成率',
    rate: 1.2
  },
  {
    year: '202403',
    rateType: '同比',
    rate: 0.07
  },
  {
    year: '202403',
    rateType: '环比',
    rate: 0.8
  },
  {
    year: '202404',
    name: '销售金额',
    amount: 76000000
  },
  {
    year: '202404',
    name: '指标金额',
    amount: 70000000
  },
  {
    year: '202404',
    rateType: '达成率',
    rate: 1.1
  },
  {
    year: '202404',
    rateType: '同比',
    rate: 0.01
  },
  {
    year: '202404',
    rateType: '环比',
    rate: 1.1
  },
  {
    year: '202405',
    name: '销售金额',
    amount: 77000000
  },
  {
    year: '202405',
    name: '指标金额',
    amount: 75000000
  },
  {
    year: '202405',
    rateType: '达成率',
    rate: 1.0
  },
  {
    year: '202405',
    rateType: '同比',
    rate: 0.01
  },
  {
    year: '202405',
    rateType: '环比',
    rate: 0.9
  },
  {
    year: '202406',
    name: '销售金额',
    amount: 78000000
  },
  {
    year: '202406',
    name: '指标金额',
    amount: 80000000
  },
  {
    year: '202406',
    rateType: '达成率',
    rate: 0.9
  },
  {
    year: '202406',
    rateType: '同比',
    rate: 0.01
  },
  {
    year: '202406',
    rateType: '环比',
    rate: 1.2
  }
]

chart代码按照逻辑来的

...
// 柱状图
chart.scale('amount', {
          nice: true,
          min: 0,
          formatter: (val) => {
            // 按照千分位格式化加上逗号
            if (val == null) {
              return;
            } else {
              return `${val}`.replace(/\B(?=(\d{3})+(?!\d))/g, ',');
            }
          }
        });
chart
          .interval()
          .position('year*amount')
          .color('name', (field) => {
            if (!field) {
              return;
            }
            return _nameColor[field];
          })
          .adjust({
            type: 'dodge',
            marginRatio: 0.1
          });
// 折线图
this.chart.scale('rate', {
          nice: true,
          min: 0,
          formatter: (val) => {
            if (val == null) {
              return;
            } else {
              return val;
            }
          }
        });

        this.chart
          .line()
          .position('year*rate')
          .color('rateType', (field) => {
            if (!field) {
              return;
            }
            return _lineColor[field];
          })
          .label('rateType', (field) => {
            if (!field) {
              return;
            }

            return {
              content: (obj) => {
                return obj.rate;
              },
              style: {
                fill: _labelColor[field]
              }
            };
          })
          .shape('line');
...

重现链接

No response

重现步骤

在绘制charts的时候传入的data是两种数据的混合,即又描述了柱形图又描述了折线图就会出现空数据占位图形。

预期行为

我希望不显示这个空的柱子。

平台

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

屏幕截图或视频(可选)

image 在官网中的例子,在我本地的例子 image

补充说明(可选)

No response

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

1 participant