Цветовой индекс Treemap для фиксированных значений - PullRequest
1 голос
/ 18 марта 2020

Я работаю в Treemap по старшим диаграммам, используя индекс цвета:

        {
          reversed: false,
          type: "algorithmic",
          min: 0,
          max: 15,
          ordinal: false,
          startOnTick: false,
          endOnTick: true,
          stops: [
            [0, "#B20800"],
            [0.25, "#FFFFFF"],
            [0.8, "#1F57B0"],
            [1, "#800080"]
          ],
          tickPositions: [0, 1, 2, 3, 15],
        }
      ],

Масштаб вывода:

Output Scale Требуемый масштаб:

Required Scale

но с приведенным выше кодом для его вставки необходимо зафиксировать диапазоны и его цвет 0-1 красный к белому 1-3 белый к синему 3-15 синий к фиолетовому после 15 фиксированного фиолетового

это то, чего я хочу достичь, но с помощью остановок это не работает.

1 Ответ

1 голос
/ 18 марта 2020

Вы можете смоделировать метки цветовой оси:

colorAxis: {
  ...,
  labels: {
    formatter: function() {
      if (this.value === 4) {
        return 15;
      }
      return this.value;
    }
  },
  stops: [
    [0, "#B20800"],
    [0.25, "#FFFFFF"],
    [0.8, "#1F57B0"],
    [1, "#800080"]
  ],
  tickPositions: [0, 1, 2, 3, 4]
}

И рассчитать цвет для точек со значением выше 3:

chart: {
  events: {
    load: function() {
      var colorAxis = this.colorAxis[0],
        calculatedVal;

      this.series[0].points.forEach(function(p) {
        if (p.y > 3) {
          calculatedVal = (p.y - 3) / (15 - 3);

          p.update({
            color: colorAxis.toColor(3 + calculatedVal)
          });
        }
      });
    }
  }
}

Live демо: http://jsfiddle.net/BlackLabel/6m4e8x0y/4924/

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