带有 negativeColor 属性的 highcharts 悬停给出了错误的颜色

highcharts hover with negativeColor property gives wrong color

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

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]
                            }
                        }

                    }
                }
            },

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

而是使用 Highchart 的 negativeColor 属性:

来解决问题
series: [
            type: 'column',
            color: 'rgba(34,139,34,1)',
            negativeColor: 'rgba(128,0,0,1)',
            ...

作为参考,请查看 highchart 的演示示例中的 this demo

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

但此错误已在 5 December 2014 上解决。所以如果你使用最新版本的 Highcharts,它应该可以工作。