PUC-Infovis / syllabus-2019

Repositorio principal para el curso “Visualización de Información” del año 2019.
12 stars 2 forks source link

Uso de forEach. #36

Closed jtcaraball closed 1 year ago

jtcaraball commented 5 years ago

Hola! Se puede utilizar el método forEach para determinar niveles de los nodos en el árbol para guiar su visualización y para cambiar atributos de varios elementos como el color o esto iría en contra del punto 4.2.2 del enunciado?

Muchas gracias! Saludos :)

VinceValence commented 5 years ago

El método puede usarse para todo lo que no implique visualizar con D3. Si es que lo usan para hacer cosas como las que describes, deben justificar muy detalladamente por qué necesitaron usarlo, pues visualizar con D3 usando un ciclo (como forEach) no tiene mucha gracia, pues D3 no fue hecho con ello en mente.

Si con determinar los niveles de los nodos para guiar su visualización te refieres a que, después de entrenar un árbol, la salida de ese entrenamiento no indica explícitamente los niveles de los nodos, pero ustedes quieren obtenerlos con un forEach, pueden hacerlo. Sin embargo, si te refieres a cambiar las posiciones de los nodos en la visualización con un forEach, no está permitido. Esto se hace con el Data Join de D3.

Para lo del color, la forma más aceptada en D3 es usar escalas. Estas ahorran especificar de forma explícita los colores de los nodos. Teniendo el nivel de un nodo en el arreglo de datos con el que se haga un Data Join y teniendo una escala de colores, se puede indicar que se use la escala de colores en las selecciones enter, update y/o exit.

Si tienen dudas de las escalas, este post de Mike Bostock (creador de D3) los puede ayudar y para verlas en acción junto con el Data Join, este ejemplo las usa para posiciones y color.

Espero que esto los ayude