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

4.3 KiB
Raw Blame History

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

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: Ваш код должен использовать метод <code>domain()</code> .
    testString: 'assert(code.match(/\.domain/g), "Your code should use the <code>domain()</code> method.");'
  - text: '<code>domain()</code> шкалы должен быть установлен в <code>[250, 500]</code> .'
    testString: 'assert(JSON.stringify(scale.domain()) == JSON.stringify([250, 500]), "The <code>domain()</code> of the scale should be set to <code>[250, 500]</code>.");'
  - text: Ваш код должен использовать метод <code>range()</code> .
    testString: 'assert(code.match(/\.range/g), "Your code should use the <code>range()</code> method.");'
  - text: '<code>range()</code> шкалы должен быть установлен на <code>[10, 150]</code> .'
    testString: 'assert(JSON.stringify(scale.range()) == JSON.stringify([10, 150]), "The <code>range()</code> of the scale should be set to <code>[10, 150]</code>.");'
  - text: Текст в <code>h2</code> должен быть -102.
    testString: 'assert($("h2").text() == "-102", "The text in the <code>h2</code> should be -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