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();
});
我的要求是根据 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();
});