在更改highcharts上更新plotline标签的颜色

时间:2017-08-07 07:31:20

标签: highcharts highstock

有什么方法可以在运动上升时更改情节线标签的颜色,并在运动下降时以不同的字体颜色再次更改颜色?

      yAxis.addPlotLine({
        value: 66,
        color: 'red',
        width: 2,
        id: 'plot-line-1',
  label: {
                text: 66,
                align: 'right',
                style: {
                 color: 'red',
                  fontWeight: 'bold'
                },
                y: newY,
                x: 0
            }
      });

这是一个工作文件http://jsfiddle.net/kttfv1h3/9/ 谢谢你的帮助

2 个答案:

答案 0 :(得分:2)

您可以将plot样式选项添加到plotLabel中,就像添加一个简单的对象一样; docs

var prev_val = 0; // global

        plotlabel = yAxis.plotLinesAndBands[0].label;
        if(prev_val <= y) {
            plotlabel.css({'color':'blue'});    
        } else {
            plotlabel.css({'color':'green'});   
        }
        prev_val = y;

我的jsFiddle:http://jsfiddle.net/kttfv1h3/12/

答案 1 :(得分:0)

在玩了不同的设置后,我找到了一种方法来实现你所寻求的目标。

通过delcaring新变量oldYsetInterval中执行以下操作时,标签颜色会根据值是增加还是减少而改变:

if(y < oldY) {
    yAxis.plotLinesAndBands["0"].label.element.style.fill = 'red';
} else {
    yAxis.plotLinesAndBands["0"].label.element.style.fill = 'green';
}
oldY = y;

请参阅jsfiddle,了解基于您提供的示例的工作示例。