Highchart изменение цвета перекрестия в зависимости от значения оси Y - PullRequest
0 голосов
/ 28 апреля 2020

Я хочу изменить цвет перекрестия в зависимости от значения. Я делаю это, но это не работает.

xAxis: {
            type: 'datetime',
            crosshair: {
            threshold: 1,
            negativeColor: 'green',
            color: 'red',
            width: 1.5,
            snap: false
            }

Поэтому я хотел, чтобы цвет перекрестия был зеленым, если значение по оси Y меньше 1. Но это не работает. любая помощь приветствуется.

1 Ответ

0 голосов
/ 28 апреля 2020

Параметры, которые вы пытались установить, не существуют в API - https://api.highcharts.com/highcharts/xAxis.crosshair.color

Я думаю, что самый простой способ добиться этого - использовать className свойство и динамическое изменение стиля перекрестия в функции обратного вызова tooltip.formatter .

Демо: https://jsfiddle.net/BlackLabel/be9jqh6s/

  tooltip: {
    formatter(tooltip) {
      let chart = this.series.chart,
        crosshair = document.getElementsByClassName('custom-crosshair');

      if (crosshair[0]) {
        if (this.x > 4) {
          crosshair[0].style.stroke = 'green'
        } else {
          crosshair[0].style.stroke = '#cccccc'
        }
      }
      return tooltip.defaultFormatter.call(this, tooltip);
    }
  },

API: https://api.highcharts.com/highcharts/tooltip.formatter

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...