it-swarm-es.com

Mostrar el árbol genealógico de un panda

Tengo una sección en mi sitio web que muestra información sobre todos los pandas cautivos conocidos (casi 700) en total.

Cada panda tiene una sola página que muestra su nombre, nacimiento/muerte y dónde se ha ubicado. La página también tiene un enlace a sus padres y sus hijos.

La (s) página (s) principal (s) muestra una tabla de todos los pandas ordenados en fecha descendente o nacimiento. Me gustaría que esta página muestre juntos pandas) juntos.

Esto parece implicar algún tipo de estructura de árbol genealógico, pero para muchas familias. El problema es que pandas se aparean con diferentes pandas. Entonces, una hembra con 7 cachorros podría tener 5 padres diferentes, que tienen cachorros con otras hembras, esto lleva a un árbol muy desordenado.

¿Alguien tiene alguna sugerencia sobre cómo se podría mostrar esto?

11
Andi

Tienes un buen desafío de visualización de datos. Solo descartando esta idea.

¿Qué sucede si no muestra automáticamente las conexiones familiares en la página principal? Sugiero una visualización interactiva de datos.

Cuando vuelcas un panda, aparecen las 'conexiones'. Las relaciones se pueden mostrar con líneas y/o con codificación de colores, por ejemplo, para mostrar madre/padre/hermano. También puede reorganizar el pandas para llevar las imágenes de la 'familia' a otro plano visual encima de la página principal para que sea más fácil ver a la familia unida en lugar de estar dispersa por toda la pantalla.

La parte difícil es si desea mostrar hermanos relacionados a través de la madre o hermanos relacionados a través del padre. Quizás esto puede ser una palanca que establece el usuario.

Ex:

  • Toggle está configurado para mostrar hermanos relacionados a través de la madre
  • Pase el cursor sobre un panda para ver a su familia (este panda recibe un resaltado especial, digamos amarillo)
  • Al volcar, se reorganiza la familia y se ve muy bien como un árbol como se describe a continuación conectado por líneas ... La madre está en la parte superior del árbol.
  • Madre mostrada en rosa
  • Hermanos mostrados en verde
  • Padre de cada hermano que se muestra delineado en azul sobre cada hermano y del panda actual
  • Necesita una forma de cerrar esta vista familiar ... cuando el usuario cierra esta vista, el pandas vuelve a su posición original en la pantalla principal.
7
milesmeow

La estructura del "árbol genealógico" de pandas que está tratando de representar es un gráfico acíclico dirigido . Es no un árbol . Esto no siempre se puede representar en 2D sin líneas de intersección. Con 700 nodos y 2 antepasados ​​cada uno, es probable que sea desordenado.

Las herramientas de visualización de gráficos pueden ayudar con este problema. Comience con un simple webapp para tener una idea (ponga todo el mother->child y father->child pares en la lista).

Programas más avanzados como yFiles y GraphViz son adecuados para gráficos complejos y grandes. Consulte galería para tener una idea sobre los posibles resultados.

Otro enfoque es tratar de simplificar el problema, por ejemplo teniendo árboles ancestrales/descendientes enfocados en cada individuo en particular.

3
dbkk

Un cachorro solo puede tener una madre y un padre, ¿por qué las relaciones deben agruparse por "familia"? Parece que solo debes agruparlos por ADN, no por pares madre/padre.


ACTUALIZACIÓN:

Agrupar por (Padre <> Niño <> Madre) [~ # ~] no [~ # ~] (Padre/Madre = Niño_A, Niño_B, etc. .)

Solo rastrea quién está relacionado con quién por madre y padre, no hagas un seguimiento de quiénes son los hermanos y hermanas ... a menos que sea por razones de apareamiento. Si está comparando, por razones de apareamiento, con la población general, solo dé un porcentaje o una calificación de aptitud en relación con la superposición genética.

ACTUALIZACIÓN 2:

Andi , esta es la página de índice de Panda:

Si es así, ¿cómo planeas agrupar a Panda donde uno o más de los padres son "Desconocidos"?

2
blunders