Перетаскиваемая диаграмма p ie с процентами - PullRequest
0 голосов
/ 06 мая 2020

Я нашел этот красивый холст p ie на Github, но он вызывает у меня некоторые проблемы. Я не очень хорош в JS, поэтому прошу помощи. https://github.com/jamesalvarez/draggable-piechart

Я пытаюсь добавить в каждый раздел проценты, которые вы можете увидеть в таблице под диаграммой в примере github. Мне не нужны + и -, мне нужны только проценты в разделах p ie и обновление, когда пользователь перетаскивает разделы.

Я пробовал любым способом, но это кажется очень сложным.

      '" class="adjust-button" data-i="' +
      i +
      '" data-d="-1">&#43;</div>';
      var minus =
      '<div id="min-' +
      data[i] +
      '" class="adjust-button" data-i="' +
      i +
      '" data-d="1">&#8722;</div>';
      propsRow += "<td>" + v + plus + minus + "</td>";
    }window.CP.exitedLoop(15);
    labelsRow += "</tr>";
    propsRow += "</tr>";

    table.innerHTML = labelsRow + propsRow;

    var adjust = document.getElementsByClassName("adjust-button");

    function adjustClick(e) {
      var i = this.getAttribute("data-i");
      var d = this.getAttribute("data-d");

      piechart.moveAngle(i, d * 0.1);
    }

    for (i = 0; i < adjust.length; i++) {if (window.CP.shouldStopExecution(16)) break;
      adjust[i].addEventListener("click", adjustClick);
    }window.CP.exitedLoop(16);
  }
})();

Вот мой код, если он может быть полезен.

https://codepen.io/Waterbear83/pen/vYOrbva

Спасибо за любую помощь.

1 Ответ

0 голосов
/ 06 мая 2020

Этот образец кода, который вы сбросили, взят из function onPieChartChange ...
Но то, что вам нужно добавить, это function drawSegment

Там, где они делают fillText, мы просто добавляем процент

var p = Math.round(100 * arcSize / (Math.PI * 2))
context.fillText(format.label + " " + p + "%", dx, dy);

Вот рабочий пример:
https://raw.githack.com/heldersepu/draggable-piechart/master/example2.html
(тестировал только в google chrome)


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

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