You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Ag-Charts堆叠柱状图下载后变为非堆叠状态问题求助

解决Ag-Charts堆叠柱状图导出后变为非堆叠的问题

可能的原因及解决方案

1. 依赖版本不匹配

你的ag-charts-react@10.1.0和ag-charts-enterprise@10.2.0版本不一致,不同小版本间的API或配置处理逻辑可能存在差异,这是导致导出行为异常的常见诱因。

解决步骤:

  • 统一两个依赖的版本,建议都升级到10.2.0(或同步降级到10.1.0),执行命令:
npm install ag-charts-react@^10.2.0 ag-charts-enterprise@^10.2.0

2. 导出时未显式传递堆叠配置

界面渲染时的堆叠配置可能未被正确同步到导出逻辑中,需确保导出调用时显式保留stacked: true属性。

示例代码调整:
假设你的基础图表配置如下:

const chartOptions = {
  chart: { type: 'bar' },
  series: [
    { type: 'bar', stacked: true, data: [/* 业务数据 */], name: '系列1' },
    { type: 'bar', stacked: true, data: [/* 业务数据 */], name: '系列2' },
    { type: 'bar', stacked: true, data: [/* 业务数据 */], name: '系列3' }
  ],
  // 其他配置:标题、坐标轴样式等
};

在导出函数中,需确保导出配置完整继承基础配置:

import { useRef } from 'react';
import { AgChartsReact } from 'ag-charts-react';

const StackedBarChart = () => {
  const chartRef = useRef(null);

  const handleExport = () => {
    chartRef.current?.exportChart({
      format: 'png',
      options: { ...chartOptions }
    });
  };

  return (
    <>
      <AgChartsReact ref={chartRef} options={chartOptions} />
      <button onClick={handleExport}>下载图表</button>
    </>
  );
};

export default StackedBarChart;

若上述方式仍不生效,可尝试在导出时强制为每个系列指定堆叠属性:

const handleExport = () => {
  chartRef.current?.exportChart({
    format: 'png',
    options: {
      ...chartOptions,
      series: chartOptions.series.map(series => ({ ...series, stacked: true }))
    }
  });
};

3. 版本已知bug

10.x版本的Ag-Charts可能存在导出堆叠图表的特定bug,你可以查看官方发行说明确认是否有相关修复。若统一版本后问题仍存在,可尝试升级到最新稳定版,或降级到已知无此问题的版本(如10.0.x)。

效果对比

  • 界面显示的堆叠柱状图:
    界面堆叠效果
  • 下载后的非堆叠柱状图:
    下载后非堆叠效果

内容的提问来源于stack exchange,提问作者Namish Khandelwal

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.13 14:29:50