我有一个条形图,它从页面中的HTML表中提取数据。 http://www.highcharts.com/demo/column-parsed
如果我们按照上面的例子,如何只提取表格的一列, John comlumn ......
这是构建serias的代码
// the categories
options.xAxis.categories = [];
$('tbody th', table).each( function(i) {
options.xAxis.categories.push(this.innerHTML);
});
// the data series
options.series = [];
$('tr', table).each( function(i) {
var tr = this;
$('th, td', tr).each( function(j) {
if (j > 0) { // skip first column
if (i == 0) { // get the name and init the series
options.series[j - 1] = {
name: this.innerHTML,
data: []
};
} else { // add values
options.series[j - 1].data.push(parseFloat(this.innerHTML));
}
}
});
});
我试图只读取等于2的列,以便到达最后一列,并且没有成功
if (j == 2) { ... }
希望任何人都能得到比我更好的答案。 施洛米。
答案 0 :(得分:2)
试试这个:
options.series = [];
$('tr', table).each( function(i) {
var tr = this;
$('th, td', tr).each( function(j) {
if (j == 2) { // get only column 2
if (i == 0) { // get the name and init the series
options.series[0] = {
name: this.innerHTML,
data: []
};
} else { // add values
options.series[0].data.push(parseFloat(this.innerHTML));
}
}
});
});
您需要检查j == 2
以便只获取第二列中的数据,然后在创建options.series
数组时需要使用0
- Highcharts至少需要series[0]