D3.js - Transição

Transição é o processo de mudança de um estado para outro de um item. D3.js fornece umtransition()método para realizar a transição na página HTML. Vamos aprender sobre transição neste capítulo.

O método transaction ()

O método transaction () está disponível para todos os seletores e inicia o processo de transição. Este método suporta a maioria dos métodos de seleção, como - attr (), style (), etc. Mas, ele não suporta os métodos append () e data (), que precisam ser chamados antes do método transaction (). Além disso, fornece métodos específicos para a transição, como duração (), facilidade (), etc. Uma transição simples pode ser definida como segue -

d3.select("body")
   .transition()
   .style("background-color", "lightblue");

Uma transição pode ser criada diretamente usando o método d3.transition () e então usada junto com os seletores da seguinte maneira.

var t = d3.transition()
   .duration(2000);
d3.select("body")
   .transition(t)
   .style("background-color", "lightblue");

Um exemplo mínimo

Vamos agora criar um exemplo básico para entender como a transição funciona.

Crie um novo arquivo HTML, transition_simple.html com o seguinte código.

<!DOCTYPE html>
<html>
   <head>
      <script type = "text/javascript" src = "https://d3js.org/d3.v4.min.js"></script>
   </head>

   <body>
      <h3>Simple transitions</h3>
      <script>
         d3.select("body").transition().style("background-color", "lightblue");
      </script>
   </body>
</html>

Aqui, selecionamos o bodyelemento e, em seguida, iniciou a transição chamando o método transaction (). Em seguida, instruímos a transferir a cor de fundo da cor atual,white para light blue.

Agora, atualize o navegador e, na tela, a cor de fundo muda de branco para azul claro. Se quisermos mudar a cor de fundo de azul claro para cinza, podemos usar a seguinte transição -

d3.select("body").transition().style("background-color", "gray");