高图表 - 条形图的分裂颜色

时间:2015-02-20 05:28:19

标签: highcharts

我有一张与此条形图类似的高图表图表:http://jsfiddle.net/s4zzpLzL/

如何分割条形颜色以使条形图直到500的颜色为灰色,条形图的颜色是您在屏幕上看到的颜色?见下图。

Image

3 个答案:

答案 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) + '%')