var page = require(‘webpage’).create(),
system = require('system'), fs = require('fs');
page.viewportSize = { width: 960, height: 540 };
var process_data = function(data, type) {
var table = new Array(); table[0] = new Array(); table[1] = new Array(); for (var i = 0; i < data.length; i++) { table[0][i] = data[i].index; table[1][i] = data[i][type]; } return table;
}
var descriptor = eval(system.args)[0],
current_path = system.args[1], output_image = system.args[3];
if (typeof descriptor.size !== “undefined”)
page.viewportSize = descriptor.size;
page.open(current_path + ‘/chart.html’, function() {
for (var i = 0; i < descriptor.series.length; i++) { var file = fs.open(descriptor.series[i].file, 'r'); descriptor.series[i].data = eval(file.read()); } page.evaluate(function(process_data, descriptor) { $(function () { var series = new Array(); for (var i = 0; i < descriptor.series.length; i++) { series[i] = { name: descriptor.series[i].label, data: process_data(descriptor.series[i].data, descriptor.dataType)[1], color: descriptor.series[i].color, animation: false }; } $('#container').highcharts({ chart: { type: descriptor.type, animation: false }, title: descriptor.title, xAxis: descriptor.xAxis, yAxis: descriptor.yAxis, series: series }); }); }, process_data, descriptor); page.render(output_image); phantom.exit();
});