Files

3.4 KiB
Raw Permalink Blame History

id, title, challengeType, forumTopicId, dashedName
id title challengeType forumTopicId dashedName
587d7fac367417b2b2512bdb Налаштування домену й діапазону на шкалі 6 301491 set-a-domain-and-a-range-on-a-scale

--description--

За замовчуванням, масштаби використовують зв'язки ідентичності. Це означає, що вхідне значення відповідає вихідному значенню. Проте масштаби можуть бути набагато гнучкішими та цікавими.

Скажімо, набір даних має значення від 50 до 480. Це вхідна інформація для масштабування, також відома як domain.

Відобразіть ці точки вздовж осі x на полотні SVG у діапазоні від 10 одиниць до 500. Цю вихідну інформацію також називають range.

Методи domain() та range() встановлюють ці значення для шкали. Обидва методи сприймають масив щонайменше двох елементів як аргумент. Наприклад:

scale.domain([50, 480]);
scale.range([10, 500]);
scale(50)
scale(480)
scale(325)
scale(750)
d3.scaleLinear()

Порядок відображення цих значень у консолі буде таким: 10, 500, 323.37 і 807.67.

Зверніть увагу, що шкала використовує лінійний зв'язок між доменом і значеннями діапазону, щоб визначити виведення для заданого числа. Мінімальне значення в домені (50) відповідає мінімальному значенню у діапазоні (10).

--instructions--

Створіть шкалу і задайте значення домену [250, 500], а діапазону - [10, 150].

Примітка: Ви можете прив'язати домен domain() та методи range() до змінної scale.

--hints--

Використовуйте метод domain() для вашого коду.

assert(code.match(/\.domain/g));

Домен domain() в діапазоні scale повинен мати значення [250, 500].

assert(JSON.stringify(scale.domain()) == JSON.stringify([250, 500]));

Використовуйте метод range() для вашого коду.

assert(code.match(/\.range/g));

Значення range() діапазону scale повинно бути встановлено як [10, 150].

assert(JSON.stringify(scale.range()) == JSON.stringify([10, 150]));

Текст заголовку h2 повинен мати розмір -102.

assert($('h2').text() == '-102');

--seed--

--seed-contents--

<body>
  <script>
    // Add your code below this line
    const scale = d3.scaleLinear();



    // Add your code above this line
    const output = scale(50);
    d3.select("body")
      .append("h2")
      .text(output);
  </script>
</body>

--solutions--

<body>
  <script>
    const scale = d3.scaleLinear();
    scale.domain([250, 500])
    scale.range([10, 150])
    const output = scale(50);
    d3.select("body")
      .append("h2")
      .text(output);
  </script>
</body>