我有一张图表,我需要像Highchart Stocks那样的时间导航器,所以我使用了Stock和一些手工制作的选项,它渲染得非常好。 在股票中,您可以选择绘制变量而不是值。 例如,这个数据系列:
[1,2,3,4,5]变化是[+ 1,+ 1,+ 1,+ 1]。您可以使用{point.change}和系列plotoption {compare:'value'}在工具提示中访问此信息。
但这样做会改变YAxis以适应这些变化。 我只想显示工具提示中的变化而不是更改我的图表。任何想法?
这是正确的图表正确的YAxis ,但您可以看到工具提示从不显示变体: http://jsfiddle.net/techunter/PhW3t/
这个{compare:'percent'}显示工具提示中的正确变体,但错误的YAxis比例: http://jsfiddle.net/techunter/PhW3t/49/
答案 0 :(得分:0)
显然很难让它工作,所以我已经制作了这样的工具提示格式化程序:
tooltip: {
formatter:function(a,b,c){
var s = '<b>'+ Highcharts.dateFormat('%A, %b %e, %Y', this.x) +'</b>';
$.each(this.points, function(i, point) {
var prev = jQuery.inArray(point.x, point.series.processedXData)-1;
if(prev>=0){
prev = point.series.points[prev];
var percent = (point.y - prev.y) *100 / point.y;
var positive = false;
if(percent>0){
positive = true;
percent='+'+percent;
}
else
percent = percent +'';
percent = percent.substring(0,percent.indexOf('.')+3)+'%';
if(positive)
percent = '<span style="color:#000000">'+percent+'</span>';
else
percent = '<span style="color:#FF0000">'+percent+'</span>';
s += '<br/>'+'<span style="color:'+point.series.color+'">'+point.series.name+'</span>: <b>'+point.y+'</b> ('+percent+')';
}
else{
s += '<br/>'+'<span style="color:'+point.series.color+'">'+point.series.name+'</span>: <b>'+point.y+'</b>';
}
});
return s;
},
enable:true
},
行动中: http://jsfiddle.net/techunter/PhW3t/55/
如果有人有更好/更快的想法,请分享。
答案 1 :(得分:-1)