highcharts悬停与negativeColor属性给出错误的颜色

时间:2015-01-06 17:39:00

标签: highcharts

我有一个系列,我正在绘制类型'列'它既可以是消极的,也可以是积极的。我希望正面为绿色,负面为红色,所以我添加了以下功能。

function redrawColumns(chart){
        $(chart.series[0].data).each(function(i,e){
            if (e.y < 0 ){
                e.graphic.attr({fill:'rgba(128,0,0,1)'});
            }

        });

在我的图表声明正上方

var chart = $('#container').highcharts({
        chart: {

            renderTo: 'container',
        alignTicks: false,
        events: {
        ....

原版系列稍后以通常格式声明

series: [
            type: 'column',
            name: 'Sentiment',
            data: senti,        
            pointWidth: .3,
            //color: 'green',
            color: 'rgba(34,139,34,1)',
            threshold: 0,
            shadow: false,
            borderWidth: 0,

我有一个选项,每当我滚动条形图的任何部分时,它会显示值,但问题是我滚动的任何条形变为绿色并保持绿色。如何确保悬停不会改变颜色,即通过任何类型的鼠标移动保持不变。也许我应该移动那个功能?此外,基于数据转储到文本文件,每分钟刷新一次并绘制一次。

这是我的标记,不要认为这有什么不同。

//marker hover option for the sentiment chart
     column: {
        cursor: 'pointer',
                point: {
                    events: {
                        click: function () {
                            location.href = 'https://www.randomsite.com';
                        }
                    }
                },

                states: {
                    hover: {
            enabled: true,
                        lineWidth: .6,
                        halo: {
                            size: 2,
                            attributes: {
                                fill: Highcharts.getOptions().colors[2],
                                'stroke-width': 1,
                                stroke: Highcharts.getOptions().colors[1]
                            }
                        }

                    }
                }
            },

1 个答案:

答案 0 :(得分:0)

你不应该(不必)为负值指定一个函数。

使用Highchart的negativeColor属性来解决问题:

series: [
            type: 'column',
            color: 'rgba(34,139,34,1)',
            negativeColor: 'rgba(128,0,0,1)',
            ...

供参考,请参阅高图的演示示例中的this demo

现在我们仍然遇到悬停颜色的问题。这是a known bug

但是这个bug在5 December 2014上得到了解决。因此,如果您使用最新版本的Highcharts,它应该可以工作。