Wow. ¡No es una pregunta fácil! Tengo curiosidad si alguien puede encontrar algunos recursos autorizados para ti.
No he encontrado ninguna norma ni mejores prácticas documentadas desde el punto de vista del diseño, ni conozco ninguna herramienta específicamente diseñada para determinar y mostrar los cambios, pero tengo algunas ideas.
Primero, algunas notas técnicas. Hay GraphML, que puede usar (y ampliar) para representar su gráfico en un formato estándar, y hay algunos analizadores disponibles, y funciona con Prefuse y probablemente con otras bibliotecas de pantalla. Sin embargo, es solo XML, nada demasiado especial. Crear el "diff" comparando dos archivos GraphML debería ser bastante simple.
La parte realmente interesante es cómo comunicar las diferencias al usuario.
En todos los casos, debe tener un indicador visual para los nodos y bordes que se agregan o eliminan. Puede usar color, mostrando los nodos existentes como algo neutral, por ejemplo, gris, los nodos nuevos como verdes y los nodos eliminados como rojos. Hay muchas opciones.
Puede que encuentre this slideshow interesante.
Es probablemente obvio, pero, con el tiempo, los nodos no debe moverse más de lo necesario para adaptarse a la nueva situación de la gráfica - el diseño debe evolucionar , se inicia a partir de cero para cada estado. Esto es crucial para comparar los estados.
lado a lado antes/después comparación. Presentar fotos de antes y después del mismo gráfico una al lado de la otra. Si su gráfica es muy grande y complicada, un diseño de lado a lado puede ser poco práctico. Podría tratar de superponer un gráfico sobre el otro, aunque es probable que sea desorientador.
lado a lado serie comparación. AKA small multiples. Igual que arriba pero mostrando tantos puntos en el tiempo como sea útil. Incluso más restrictivo que antes-después en términos de cuánto espacio requiere, y difícil para.
Animar un solo gráfico. Creo que el método más intuitivo es animar suavemente los cambios en el gráfico, aunque una presentación de diapositivas entrecortada podría funcionar si los cambios entre las diapositivas no son demasiado drásticos.
Mostrando detalles. Si es útil, puede deletrear los detalles del evento de cambio de diferentes formas.
Mostrar etiquetas en el nodo de gráfico (podría ser interactiva si hay demasiados para mostrar a la vez)
mostrará una lista en una barra lateral/leyenda. Es bueno si leer la progresión de los cambios es útil, pero más difícil de conectar a lo visual.
Mostrar una línea de tiempo en lugar de una lista. Esto muestra la progresión 'real' de los eventos mejor que una simple lista, lo que da la impresión de que todos los eventos están espaciados uniformemente a lo largo del tiempo.
Lo que realmente elija dependerá en gran medida de la naturaleza de su conjunto de datos y sus objetivos. Un simple gráfico de unas pocas docenas de nodos y algunos cambios es un desafío muy diferente al de una gran red, como por ejemplo every constellation in the night sky.