答案 0 :(得分:2)
您可以在每个系列中使用 zones
,如下所示:
zones: [{
value: 500,
color: '#A0A0A0'
}]
value
是向上值, color
是该区域的颜色。这是您编辑过的FIDDLE
修改强>
您也可以使用 plotBands
,但这并不是您想要的:DEMO
还有一个我认为不完全涵盖你所要求的插件:Plugin
除了这些之外我不认为除非你改变数据并使用stacked bar
图表,否则还有其他办法。你将不得不改变你的所有数据,这将是令人厌倦的。
答案 1 :(得分:2)
您可以为系列设置渐变颜色,演示:http://jsfiddle.net/pscwnzk7/1/
$('#container').highcharts({
chart: {
type: 'bar'
},
series: [{
color: {
linearGradient: [0, 0, 0, 500],
stops: [
[0, '#ff0ff0'],
[0.5, '#ff0ff0'],
[0.5, '#f0f00f']
]
},
data: [29.9, 71.5, 106.4, 129.2, 144.0, 176.0, 135.6, 148.5, 216.4, 194.1, 95.6, 54.4]
}, {
data: [144.0, 176.0, 135.6, 148.5, 216.4, 194.1, 95.6, 54.4, 29.9, 71.5, 106.4, 129.2]
}]
});
该解决方案的唯一问题是您无法指定(在值中)将要中断的位置 - 尝试调整图表大小。因此,您需要在每个窗口调整大小等时更新系列颜色渐变。
答案 2 :(得分:0)
您可以使用分组,阈值和negativeColor的概念来实现此目的。创建具有相同数据的2个系列,并将其与分组:false 和 negativeColor:'透明'
重叠演示 https://jsfiddle.net/1dp8L1gw/
import cv2
import numpy as np
img = cv2.imread('roi.jpg')
size = img.size
RED_MIN = np.array([0,0,128], np.uint8)
RED_MAX = np.array([250, 250, 255], np.uint8)
dstr = cv2.inRange(img, RED_MIN, RED_MAX)
no_red = cv2.countNonZero(dstr)
frac_red = np.divide((int(no_red)),(int(size)))
percent_red = np.multiply((int(frac_red)), 100)
print('Red: ' + str(percent_red) + '%')