Highcharts中区域的空值

问题描述 投票:0回答:2

我有带有区域的图。当前,如果有一个空值,则该空值将显示在工具提示中,并带有该点之前的点的区域颜色。我希望null值始终是黑色。

例如,Zones

图1中的工具提示具有所有正确的信息...但是“ Strength:null”有一个绿点。我想将此点设为黑色,因为它是一个空值。

是否有可能做到这一点?非常感谢。

https://codepen.io/austeng/pen/gOppRWY

zones: [
  {
    value: 0.3,
    color: "green"
  },
  {
    value: 0.5,
    color: "black",
  },
  {
    color: "red"
  }
]
javascript highcharts
2个回答
0
投票

看这段代码。在point = chart.series [0] .points [pointIndex];之后});

之后更改
if (thisChart === Highcharts.charts[Highcharts.hoverChartIndex]) {
    Highcharts.charts.forEach(function(chart) {
        point = chart.series[0].points[pointIndex];

        // CHANGE START
        if (point.y == null) {
            // set here your color for null values
            result +=
                '<span style="color:black' +
                '">●</span> ' +
                point.series.name +
                ": <b>" +
                point.y +
                "</b><br/>";
        } else {
          result +=
            '<span style="color:' +
            point.color +
            '">●</span> ' +
            point.series.name +
            ": <b>" +
            point.y +
            "</b><br/>";
        }
        // CHANGE END
    });

  } else {
    result =
      '<span style="color:' +
      this.color +
      '">●</span> ' +
      this.series.name +
      ": <b>" +
      this.y +
      "</b><br/>";
  }

0
投票

我通过这样定义色点来添加此功能:

let color = point.y === null ? 'black' : point.color

并在结果中使用此颜色变量:

  result +=
    '<span style="color:' +
    color +
    '">●</span> ' +
    point.series.name +
    ": <b>" +
    point.y +
    "</b><br/>";

演示:https://jsfiddle.net/BlackLabel/7x1oc2pw/

这是您的初衷吗?

© www.soinside.com 2019 - 2024. All rights reserved.