---
id: 587d7fa7367417b2b2512bc7
title: Change Styles Based on Data
required:
- src: 'https://cdnjs.cloudflare.com/ajax/libs/d3/4.3.0/d3.min.js'
challengeType: 6
videoUrl: ''
localeTitle: Alterar estilos com base em dados
---
## Description
D3 é sobre visualização e apresentação de dados. É provável que você queira alterar o estilo dos elementos com base nos dados. Você pode usar uma função de retorno de chamada no método style()
para alterar o estilo de diferentes elementos. Por exemplo, você pode querer colorir um ponto de dados azul se tiver um valor menor que 20 e vermelho caso contrário. Você pode usar uma função de retorno de chamada no método style()
e incluir a lógica condicional. A função de retorno de chamada usa o parâmetro d
para representar o ponto de dados: selection.style ("cor", (d) => {
/ * Lógica que retorna a cor com base em uma condição * /
});
O método style()
não se limita a definir a color
- também pode ser usado com outras propriedades CSS.
## Instructions
Adicione o método style()
ao código no editor para definir a color
dos elementos h2
condicionalmente. Escreva a função de retorno de chamada, portanto, se o valor dos dados for menor que 20, ele retornará "vermelho", caso contrário, retornará "verde". Nota
Você pode usar a lógica if-else ou o operador ternário.
## Tests
```yml
tests:
- text: O primeiro h2
deve ter uma color
vermelha.
testString: 'assert($("h2").eq(0).css("color") == "rgb(255, 0, 0)", "The first h2
should have a color
of red.");'
- text: O segundo h2
deve ter uma color
verde.
testString: 'assert($("h2").eq(1).css("color") == "rgb(0, 128, 0)", "The second h2
should have a color
of green.");'
- text: O terceiro h2
deve ter uma color
verde.
testString: 'assert($("h2").eq(2).css("color") == "rgb(0, 128, 0)", "The third h2
should have a color
of green.");'
- text: O quarto h2
deve ter uma color
vermelha.
testString: 'assert($("h2").eq(3).css("color") == "rgb(255, 0, 0)", "The fourth h2
should have a color
of red.");'
- text: O quinto h2
deve ter uma color
verde.
testString: 'assert($("h2").eq(4).css("color") == "rgb(0, 128, 0)", "The fifth h2
should have a color
of green.");'
- text: O sexto h2
deve ter uma color
vermelha.
testString: 'assert($("h2").eq(5).css("color") == "rgb(255, 0, 0)", "The sixth h2
should have a color
of red.");'
- text: A sétima h2
deve ter uma color
verde.
testString: 'assert($("h2").eq(6).css("color") == "rgb(0, 128, 0)", "The seventh h2
should have a color
of green.");'
- text: O oitavo h2
deve ter uma color
vermelha.
testString: 'assert($("h2").eq(7).css("color") == "rgb(255, 0, 0)", "The eighth h2
should have a color
of red.");'
- text: O nono h2
deve ter uma color
vermelha.
testString: 'assert($("h2").eq(8).css("color") == "rgb(255, 0, 0)", "The ninth h2
should have a color
of red.");'
```
## Challenge Seed
## Solution
```js
// solution required
```