【发布时间】:2014-09-22 13:27:25
【问题描述】:
我试图在价格历史图表的工具提示中显示额外的数据 (stockChart),
jsfiddle 示例: http://jsfiddle.net/z10dLcj8/1/
$(function(){
var priceHistoryObjArray = [
[1379883600000,47.19,'extra data'],
[1379970000000,48.45,'extra data1'],
[1380056400000,49.46,'extra data2'],
[1380142800000,50.39,'extra data3']
];
$('#container').highcharts('StockChart', {
tooltip:{
formatter: function(){
//how to return 'extra data'??
//return this.points[2]??
return this.y; //return price
}
},
series : [{
name : 'Price',
data : priceHistoryObjArray,
id: 'dataseries'
}]
});
});
我传递了如下所示的图表数组:
var dataArray = [[date, price, 'some extra data1'],[date, price, 'some extra data2' ],[date, price, '一些额外数据3']];
我尝试使用 tooltip formatter 函数返回额外的字符串,但没有成功访问该字符串。 我试过了:
this.z,this.point[2]
也没有成功 我尝试将数组转换为 JSON 并尝试执行类似 this.MyExtraData 然后再次失败了
如果有人有可行的解决方案,请帮助我, 谢谢。
我已经尝试更改为对象数组并调用名称但没有成功! http://jsfiddle.net/z10dLcj8/3/
function prepare(dataArray) {
return dataArray.map(function (item, index) {
return {x: item[0], y: item[1], extra: item[2]};
});
};
$(function(){
var priceHistoryObjArray = [
[1379883600000,47.19,'extra data'],
[1379970000000,48.45,'extra data1'],
[1380056400000,49.46,'extra data2'],
[1380142800000,50.39,'extra data3']
];
priceHistoryObjArray = prepare(priceHistoryObjArray);
$('#container').highcharts('StockChart', {
tooltip:{
formatter: function(){
//how to return 'extra data'??
this.points[0].point.extra;
}
},
series : [{
name : 'Price',
data : priceHistoryObjArray,
id: 'dataseries'
}]
});
});
【问题讨论】:
标签: javascript jquery highcharts highstock