FusionCharts Не удалось нарисовать другую диаграмму в одном источнике данных - PullRequest
0 голосов
/ 01 февраля 2019

Мое требование - рисовать диаграммы динамически на основе ответа веб-служб, равного chartType, и конкретного отформатированного dataSet, но FusionChart не удалось этого сделать.

В приведенном ниже примере предположим, что формат dataSet имеет видТо же самое для всех типов диаграмм, таких как (линии, столбцы, сгруппированные и т. д.), но когда я меняю тип диаграммы, она отображает Нет данных

* Примечание: то же самое, чего я достиг в 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
                }]
            }]
        }
    };
};

1 Ответ

0 голосов
/ 04 февраля 2019

FusionCharts имеет некоторый предписанный формат данных для одиночных и многосерийных диаграмм, для односерийных диаграмм вам нужны следующие данные data:[{label:"mylabel"},{value:123}]

Аналогично, для многосерийных диаграмм вам необходимоиметь объект категорий, который будет содержать метки оси X, и объект набора данных, который содержит несколько объектов данных для каждой серии

Совет: Если вы хотите нарисовать столбец / линейный график с существующим источником данных, установите тип диаграммы как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/

...