Ничего себе.Не простой вопрос!Мне любопытно, если кто-нибудь может придумать некоторые авторитетные ресурсы для вас.
Я не нашел ни одного стандартного или передового опыта, документированного где-либо с точки зрения дизайна, и я не знаю ни одного инструмента, специально предназначенного для определения и отображения изменений, но у меня есть некоторые идеи.
Сначала несколько технических замечаний.Есть GraphML , который вы можете использовать (и расширять) для представления вашего графика в стандартном формате, и есть несколько доступных анализаторов, и он работает с Prefuse и, возможно, другими библиотеками отображения.Это всего лишь XML, но ничего особенного.Создание «diff» путем сравнения двух файлов GraphML должно быть довольно простым.
Действительно интересная часть заключается в том, как сообщить пользователю о различиях.
Во всех случаях у вас должен быть визуальный индикатор для узлов и ребер, которые добавляются или удаляются.Вы можете использовать цвет, показывая существующие узлы как нечто нейтральное, скажем, серый, новые узлы - как зеленый, а удаленные узлы - как красный.Есть много вариантов.
Вы могли бы найти это слайд-шоу интересным.
Это, вероятно, очевидно, но со временем узлы не должны двигаться больше, чем необходимо, чтобы адаптироваться к новому состояниюграфик - макет должен развиваться , а не начинаться с нуля для каждого состояния.Это важно для сравнения состояний.
Рядом до / после сравнение .Представлять до и после снимков одного и того же графика рядом.Если ваш график очень большой и сложный, параллельная компоновка может быть непрактичной.Вы можете попробовать наложить один график поверх другого, хотя это может дезориентировать.
Рядом ряд сравнение .AKA маленькие кратные .То же, что и выше, но показывает столько точек времени, сколько полезно.Даже более ограниченный, чем до-после, с точки зрения того, сколько места требуется, и трудно для.
Анимация одного графика .Я думаю, что наиболее интуитивно понятный метод - плавно анимировать изменения графика, хотя прерывистое слайд-шоу может работать, если изменения между слайдами не слишком резкие.
Отображение деталей.Если это полезно, вы можете прописать детали события изменения несколькими различными способами.
Показывать метки на узле графа (может быть интерактивным, если их слишком много для одновременного отображения)
Показать список на боковой панели / легенду.Хорошо, если чтение последовательности изменений полезно, но сложнее подключиться к визуальному.
Показывать временную шкалу вместо списка.Это показывает «реальную» последовательность событий лучше, чем простой список, что создает впечатление, что все события равномерно распределены во времени.
То, что вы на самом деле выберете, будет зависеть в значительной степенио характере вашего набора данных и ваших целей.Простой график, состоящий из нескольких десятков узлов и нескольких изменений, представляет собой проблему, отличную от огромной сети, как, скажем, каждое созвездие на ночном небе !