Files
freeCodeCamp/curriculum/challenges/russian/04-data-visualization/data-visualization-with-d3/set-a-domain-and-a-range-on-a-scale.russian.md

3.9 KiB
Raw Blame History

id, title, challengeType, forumTopicId, localeTitle
id title challengeType forumTopicId localeTitle
587d7fac367417b2b2512bdb Set a Domain and a Range on a Scale 6 301491 Установка домена и диапазона по шкале

Description

По умолчанию шкалы используют отношение идентичности - входное значение сопоставляется с выходным значением. Но масштабы могут быть гораздо более гибкими и интересными. Скажем, набор данных имеет значения от 50 до 480. Это входная информация для шкалы и также известна как домен. Вы хотите сопоставить эти точки вдоль оси x на холсте SVG, между 10 единицами и 500 единицами. Это выходная информация, которая также известна как диапазон. Методы domain() и range() задают эти значения для шкалы. Оба метода принимают в качестве аргумента массив из по меньшей мере двух элементов. Вот пример:
// Установить домен
// Область охватывает набор входных значений
scale.domain ([50, 480]);
// Установить диапазон
// Диапазон охватывает набор выходных значений
scale.range ([10, 500]);
масштаб (50) // Возвращает 10
масштаб (480) // Возвращает 500
масштаб (325) // Возвращает 323.37
масштаб (750) // Возвращает 807.67
d3.scaleLinear ()
Обратите внимание, что шкала использует линейную зависимость между областью и значениями диапазона, чтобы выяснить, какой результат должен быть для данного номера. Минимальное значение в области (50) соответствует минимальному значению (10) в диапазоне.

Instructions

Создайте масштаб и установите его домен в [250, 500] и диапазон до [10, 150] . Заметка
Вы можете связать методы domain() и range() с переменной scale .

Tests

tests:
  - text: Your code should use the <code>domain()</code> method.
    testString: assert(code.match(/\.domain/g));
  - text: The <code>domain()</code> of the scale should be set to <code>[250, 500]</code>.
    testString: assert(JSON.stringify(scale.domain()) == JSON.stringify([250, 500]));
  - text: Your code should use the <code>range()</code> method.
    testString: assert(code.match(/\.range/g));
  - text: The <code>range()</code> of the scale should be set to <code>[10, 150]</code>.
    testString: assert(JSON.stringify(scale.range()) == JSON.stringify([10, 150]));
  - text: The text in the <code>h2</code> should be -102.
    testString: assert($('h2').text() == '-102');

Challenge Seed

<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>

Solution

// solution required