Как динамически изменить цвет линии на основе значения, которое меньше предыдущего в старших чартах - PullRequest
0 голосов
/ 23 марта 2019

Я пытаюсь построить линейный график, используя highchart.js, который использует зеленый и черный цвета.Данные извлекаются из базы данных SQL и, если значение выше, чем предыдущее значение, оно зеленого цвета.Если значение меньше предыдущего значения, то цвет черный.

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

Может ли кто-нибудь помочь мне в этом?

1 Ответ

1 голос
/ 23 марта 2019

Я создал этот пример, он должен помочь вам:

series: [{
  name: 'Random data',
  colorByPoint: true,
  data: (function() {
    // generate an array of random data
    var time = (new Date()).getTime(),
      i,
      yValue;

    for (i = -19; i <= 0; i += 1) {
      yValue = Math.random();

      if (i > -19 && yValue > data[data.length - 1].y) { // Green point
        zones.push({
          color: "#5f9",
          value: time + i * 1000,
        });
      } else if (i > -19 && yValue <= data[data.length - 1].y) { // black point
        zones.push({
          color: "#000",
          value: time + i * 1000,
        });
      } else { // first point alway green
        zones.push({
          color: "#5f9",
          value: time + i * 1000,
        });
      }
      data.push({
        x: time + i * 1000,
        y: yValue
      });
    }
    return data;
  }()),
  zoneAxis: "x",
  zones: zones
}]

Fiddle

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