我在高图中有一个样条图。它的高度是零到一。我想让 y=0.5 线上方的所有点都具有红色背景色,而这条线下方的点具有绿色背景色。我怎样才能在highchart中做到这一点?
问问题
944 次
3 回答
0
您可以很好地创建一个实用方法,将您的series.data
from[[x,y],...]
转换为[{ x:xVal,y:yVal,color:color,...}...]
这个函数可能看起来像这样
function groupDataByValue(data, threshold, aboveColor, belowColor) {
var newData = [];
$.each(data, function() {
var dataPoint = {
x: this[0],
y: this[1],
marker: {}
};
var color;
if (dataPoint.y > threshold) {
color = aboveColor;
} else {
color = belowColor;
}
dataPoint.color = color;
dataPoint.marker.fillColor = color;
newData.push(dataPoint);
});
return newData;
}
在设置series.data
属性之前将其传递给此方法并将结果值设置为series.data
于 2012-09-10T17:11:22.207 回答
0
“此功能计划用于 Highcharts 3.0。我们编写了一个临时 hack,仅限于 SVG 浏览器。这意味着它在 IE6、7 和 8 中不起作用。请参阅http://jsfiddle.net/highcharts/PMyHQ / "
-@orstein Hønsi(管理员,Highcharts JS)-2011 年 11 月 14 日
资料来源:http ://highcharts.uservoice.com/forums/55896-general/suggestions/787281-threshold-option-for-colors
于 2012-09-10T16:47:14.010 回答
0
像这样试试
$(document).ready(function(){
$("#points").each(function(){
if((this).val()>0.5)
(this).css("background-color","red");
});
})
考虑到您的所有点都必须具有 id“点”,并且它们的值必须是它们各自的高度(0.1,0.2,....像那样)
于 2012-09-10T09:39:34.303 回答