Files
freeCodeCamp/curriculum/challenges/ukrainian/04-data-visualization/data-visualization-with-d3/change-styles-based-on-data.md
2023-08-28 21:25:41 +05:30

3.5 KiB
Raw Blame History

id, title, challengeType, forumTopicId, dashedName
id title challengeType forumTopicId dashedName
587d7fa7367417b2b2512bc7 Змініть стилі на основі даних 6 301479 change-styles-based-on-data

--description--

D3 стосується візуалізації та представлення даних. Ймовірно, що на основі даних ви захочете змінити стиль елементів. Наприклад, ви можете зафарбувати точку даних блакитним кольором, якщо її значення менше ніж 20, або червоним, якщо навпаки. Ви можете використати функцію зворотного виклику в методі style() та включити умовну логіку. Функція зворотного виклику використовує параметр d, щоб представити точку даних:

selection.style("color", (d) => {

});

Метод style() не обмежується лише властивістю color: його можна використати і з іншими властивостями CSS.

--instructions--

Додайте метод style() до коду в редакторі, щоб встановити color елементів h2 за умовою. Напишіть функцію зворотного виклику, щоб вона повернула червоний колір, якщо значення менше ніж 20, а в іншому випадку — зелений.

Примітка: ви можете використати логіку if-else або тернарний оператор.

--hints--

Перший h2 повинен мати червоний color.

assert($('h2').eq(0).css('color') == 'rgb(255, 0, 0)');

Другий h2 повинен мати зелений color.

assert($('h2').eq(1).css('color') == 'rgb(0, 128, 0)');

Третій h2 повинен мати зелений color.

assert($('h2').eq(2).css('color') == 'rgb(0, 128, 0)');

Четвертий h2 повинен мати червоний color.

assert($('h2').eq(3).css('color') == 'rgb(255, 0, 0)');

П’ятий h2 повинен мати зелений color.

assert($('h2').eq(4).css('color') == 'rgb(0, 128, 0)');

Шостий h2 повинен мати червоний color.

assert($('h2').eq(5).css('color') == 'rgb(255, 0, 0)');

Сьомий h2 повинен мати зелений color.

assert($('h2').eq(6).css('color') == 'rgb(0, 128, 0)');

Восьмий h2 повинен мати червоний color.

assert($('h2').eq(7).css('color') == 'rgb(255, 0, 0)');

Дев’ятий h2 повинен мати червоний color.

assert($('h2').eq(8).css('color') == 'rgb(255, 0, 0)');

--seed--

--seed-contents--

<body>
  <script>
    const dataset = [12, 31, 22, 17, 25, 18, 29, 14, 9];

    d3.select("body").selectAll("h2")
      .data(dataset)
      .enter()
      .append("h2")
      .text((d) => (d + " USD"))
      // Add your code below this line



      // Add your code above this line
  </script>
</body>

--solutions--

<body>
  <script>
    const dataset = [12, 31, 22, 17, 25, 18, 29, 14, 9];

    d3.select("body").selectAll("h2")
      .data(dataset)
      .enter()
      .append("h2")
      .text((d) => (d + " USD"))
      .style("color", (d) => d < 20 ? "red" : "green")
  </script>
</body>