使用一个数据集初始化amchart之后,根据用户输入,我将添加多达20个数据集及其各自的dataloaders。
Amcharts具有功能chart.dataLoader.loadData()
,但是会触发所有数据集和数据加载器的重新加载,甚至是已经渲染的数据集。
有什么主意我可以如何分别触发每个数据加载器?
我知道AmCharts.loadFile
和AmCharts.parseCSV
的快捷方式,但是它们的功能与完整的数据加载器不同,例如,加载多个数据集时无法使用“全局进度”事件
function loadData(field) {
var file = "/qt/data/" + field + ".csv";
file = file.replace("#", "%23");
//file = encodeURI(file);
// add dataset and dataloader
var newDataSet = new AmCharts.DataSet();
newDataSet.title = field;
// add fieldmapping
newDataSet.fieldMappings.push({
"fromField": "Return",
"toField": "Return"
});
// define dataloader..
newDataSet.dataLoader = {
"url": file,
"format": "csv",
"delimiter": ",",
"useColumnNames": true,
"showErrors": true,
"reverse": true,
"skip": 2,
"postProcess": [...]
};
newDataSet.categoryField = "Date";
newDataSet.compared = chart.dataSets.length == 0 ? false : true;
chart.dataSets.push(newDataSet);
if (chart.dataSets.length>1) chart.dataLoader.loadData();
//--> How to trigger dataloader here?