我想在从amcharts导出时修改csv数据。 场景如下:我有2列1值,其他值为0.现在我不希望该列显示在具有0值的csv中。
我没有找到任何相关内容。
答案 0 :(得分:1)
您可以使用processData
。点击此处:https://github.com/amcharts/export#changing-the-dataprovider-when-exporting
"export": {
"enabled": true,
"processData": function (data, cfg) {
if (cfg.format === 'CSV') {
return data.map(function (item) {
// Ignore the second column
return {
firstColumn: item.firstColumn
};
});
}
return data;
}
}
答案 1 :(得分:1)
processData
方式适用于与dataProvider
差别不大的数据。
Amcharts的doc对此没有很好的记录,但经过一些挖掘后,我发现了这一点:
var myChart = AmCharts.makeChart('chart-id', {
dataProvider: myDatas, // Some datas
export: {
enabled: true,
// Using the 'menu' option in order to override its behavior ...
menu: [{
class: 'export-main',
menu: [{
label: 'Download as ...',
menu: ['PNG', 'JPG', 'SVG', 'PDF']
}, {
label: 'Save as ...',
menu: [{
label: 'CSV',
// Overriding CSV export behavior :
click: function exportCSV() {
// This will export the 'myDatas' datas to a string formatted as a CSV.
// Feel free to change the 'data' option of the 'toCSV()' method for a different CSV.
myChart.export.toCSV({ data: myDatas }, function(data) {
// 'data' is a string containing the CSV
// This will download the CSV to the file MyCSV.csv !
this.download(data, this.defaults.formats.CSV.mimeType, 'MyCSV.csv');
});
}
}]
}, {
label: 'Annotate ...',
action: 'draw',
menu: [{
class: 'export-drawing',
menu: ['PNG', 'JPG']
}]
}]
}]
}
});
这将导出并下载包含所需数据的CSV文件!