Как сопоставить данные covid с динамической c логарифмической / экспоненциальной / линейной легендой / масштабом в angular с d3 - PullRequest
0 голосов
/ 26 мая 2020

Следующая карта covid должна переключаться между линейной, логарифмической c и экспоненциальной шкалами для цвета заливки и отображать правильные значения в легенде при нажатии кнопок линейный, логарифмический c или экспоненциальный.

Код

Предварительный просмотр

Для шкал используется следующий код

   // Linear Scale
    that.colorScaleLinear = d3.scaleSequential(d3.interpolateReds);

    // Exponential Scale
    that.expScale = d3
      .scalePow()
      .exponent(Math.E)
      .domain([that.start, that.end]);
    that.colorScaleExp = d3.scaleSequential(d =>
      d3.interpolateReds(that.expScale(d))
    );

    // Log Scale
    that.logScale = d3.scaleLog().domain([that.start, that.end]);
    that.colorScaleLog = d3.scaleSequential(d =>
      d3.interpolateReds(that.logScale(d))
    );

Функция заполнения выглядит следующим образом:

  .attr("fill", function (d) {
        var cases = d.cases;
        var cases = cases ? cases : 0;

        switch (that.scale) {
          case "Linear":
            return that.colorScaleLinear(that.scaleCases(cases));
          case "Exponential":
            return that.colorScaleExp(cases);
          case "Logarithmic":
            return that.colorScaleLog(cases);
        }
      })

Линейная заливка и работа легенды Linear Fill and Legend Working

Экспоненциальное заполнение и легенда не работают Exponential Fill and Legend Not Working

Logarthmi c Заполнение и легенда не работают Logarthmic Fill and Legend Not Working

Что мне следует изменить, чтобы исправить заливки и масштаб для логарифма c и экспоненциальных легенд?

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