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?
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:
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.
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"?