it-swarm.it

Visualizzazione dell'albero genealogico di un panda

Ho una sezione sul mio sito web che mostra informazioni su tutti i panda prigionieri conosciuti, (quasi 700) in totale.

Ogni panda ha una singola pagina che mostra il suo nome, nascita/morte e dove è stata localizzata. La pagina ha anche un link ai suoi genitori e ai suoi figli.

Le pagine principali mostrano una tabella di tutti i pandas ordinati in data o nascita decrescente. Vorrei che questa pagina mostrasse i relativi pandas insieme).

Ciò sembra implicare una sorta di struttura ad albero genealogico ma per molte famiglie. Il problema è che pandas si accoppiano con diversi panda. Così una femmina con 7 cuccioli potrebbe avere 5 padri diversi, che hanno cuccioli con altre femmine, questo porta ad un albero molto disordinato.

Qualcuno ha qualche suggerimento su come potrebbe essere visualizzato?

11
Andi

Hai una bella sfida per la visualizzazione dei dati. Ho appena lanciato questa idea.

Che cosa succede se non mostri automaticamente le connessioni familiari sulla pagina principale. Suggerisco una visualizzazione interattiva dei dati.

Quando passi il mouse su un panda, vengono visualizzate le "connessioni". Le relazioni possono essere mostrate con linee e/o con codici colore, ad esempio, per mostrare madre/padre/fratello. Puoi anche riorganizzare il pandas per portare le immagini della 'famiglia' su un altro piano visivo sopra la pagina principale in modo che possa essere più facile vedere la famiglia insieme invece che sparsa su tutto lo schermo.

La cosa difficile è se vuoi mostrare fratelli collegati tramite madre o fratelli collegati tramite padre. Forse questo può essere un interruttore che l'utente imposta.

Ex:

  • Toggle è impostato per mostrare i fratelli collegati tramite la madre
  • Passa il mouse su un panda per vedere la sua famiglia (questo panda riceve un momento speciale, diciamo giallo)
  • Al momento del rollover, la sua famiglia si riorganizza e si presenta bene come un albero come descritto di seguito collegato da linee ... La madre è in cima all'albero.
  • Madre mostrata delineata in rosa
  • Fratelli mostrati delineati in verde
  • Padre di ogni fratello mostrato in blu sopra ogni fratello e del panda attuale
  • È necessario un modo per chiudere questa vista di famiglia ... quando l'utente chiude questa vista, il pandas torna alla posizione originale nella schermata principale.
7
milesmeow

La struttura "albero genealogico" di pandas che stai cercando di rappresentare è un grafico aciclico diretto . Non è non un albero . Questo non può sempre essere rappresentato in 2D senza linee intersecanti. Con 700 nodi e 2 antenati ciascuno, è probabile che sia disordinato.

Gli strumenti di visualizzazione grafica possono aiutare con questo problema. Inizia con un semplice webapp per avere un'idea (inserisci tutti i mother->child e father->child si accoppia nell'elenco).

Programmi più avanzati come yFiles e GraphViz sono adatti per grafici complessi e di grandi dimensioni. Vedi galleria per avere un'idea dei possibili risultati.

Un altro approccio è quello di cercare di semplificare il problema, ad esempio avendo alberi di antenati/discendenti focalizzato su ciascun individuo particolare.

3
dbkk

Un cucciolo può avere solo una madre e un padre, perché le relazioni devono essere raggruppate per "famiglia"? Sembra che dovresti semplicemente raggrupparli per DNA, non per coppie madre/padre.


UPDATE:

Raggruppa per (Padre <> Figlio <> Madre) [~ # ~] non [~ # ~] (Padre/Madre = Child_A, Child_B, ecc. .)

Basta rintracciare chi è legato a chi da madre e padre, non tenere traccia di chi sono i fratelli e le sorelle ... a meno che non sia per motivi di accoppiamento. Se ti stai confrontando per motivi di accoppiamento con la popolazione generale, dai solo una percentuale o un punteggio di fitness in relazione alla sovrapposizione genetica.

AGGIORNAMENTO 2:

Andi , è questa la pagina dell'indice Panda:

In tal caso, come pensi di raggruppare Panda dove uno o più genitori sono "Sconosciuti".

2
blunders