FusionCharts 无法在同一数据源上绘制不同的图表

FusionCharts Failed to draw different chart on same data source

我的要求是根据 chartType 和特定格式 dataSet 的网络服务响应动态绘制图表,但 FusionChart 无法做到这一点。

在下面的示例中,假设所有图表类型(折线图、柱形图、堆叠图等)的数据集格式都相同,但是当我更改图表类型时,它显示 无可用数据

*注意:我在 HighCharts 中取得了同样的成就,但我的客户强迫我们使用融合图表

export const getChartOptions = (chartOptions) => {
    return {
        chartConfig: {
            type: chartOptions.type,
            dataFormat: chartOptions.dataFormat,
        },
        dataSource: {
            chart: {
                caption: chartOptions.caption,
                subCaption: chartOptions.subCaption,
                xAxisName: chartOptions.xAxisName,
                yAxisName: chartOptions.yAxisName,
                numberSuffix: chartOptions.numberSuffix,
                theme: chartOptions.theme,
                showLegend: '1'
            },
            categories: [
                {
                    category: [{
                        label: 'Q1'
                    }, {
                        label: 'Q2'
                    }, {
                        label: 'Q3'
                    }, {
                        label: 'Q4'
                    }]
                }
            ],
            dataset: [{
                seriesname: 'Last Year',
                data: [{
                    value: 10000
                }, {
                    value: 11500
                }, {
                    value: 12500
                }, {
                    value: 15000
                }]
            }]
        }
    };
};

FusionCharts 已经为单系列和多系列图表提供了一些规定的数据格式,对于单系列图表,您需要这样的数据data:[{label:"mylabel"},{value:123}]

同样,对于多系列图表,您需要有类别对象来保存 x 轴标签和数据集对象来保存每个系列的多个数据对象

提示:如果要使用现有数据源绘制 column/line 图,请将图表类型设置为 mscolumn2d 或 msline

FusionCharts.ready(function() {
  var revenueChart = new FusionCharts({
    type: 'mscolumn2d',
    renderAt: 'chart-container',
    width: '700',
    height: '400',
    dataFormat: 'json',
    dataSource: {
      chart: {

        showLegend: '1'
      },
      categories: [{
        category: [{
          label: 'Q1'
        }, {
          label: 'Q2'
        }, {
          label: 'Q3'
        }, {
          label: 'Q4'
        }]
      }],
      dataset: [{
        seriesname: 'Last Year',
        data: [{
          value: 10000
        }, {
          value: 11500
        }, {
          value: 12500
        }, {
          value: 15000
        }]
      }]
    }
  }).render();
});

演示 - http://jsfiddle.net/tz0orfkq/