Lecture5_2013

advertisement
От диаграмм связей к методам заполнения
пространства
Апанович З.В.
apanovich@iis.nsk.su
Тел:3309344
К. 217
Ben Scneiderman & Treemaps
(Space-filling)
В 1991 Dr. Shneiderman разработал концепцию
Treemap, которая продолжает
стимулировать новые исследовательские и
коммерческие реализации.
Версия Treemap 4.0, разработанная совместно
с Catherine Plaisant, запатентована
HiveGroup, и остается доступной для
образовательных и исследовательских
целей.
Dr. Shneiderman остается техническим
консультантом Hivegroup. Также он был
консультантом (1999-2002) в Smartmoney,
которая реализовала широко используемую
MarketMap для анализа рынка акций
Space-filling: Treemap или Slicing
Floorplan?
1.
Otten R.H.J.M. A new algorithm for floorplan design 1982 19th DAC
ACM/IEEE
2.
.
B.Jonson, B. Shneiderman Treemaps: a space-filling approach to the
visualization of hierarchical information structure. In Proceedings of
thе Second International IEEE Visualization Conference, 1991
Space-filling approach:Treemaps
Базовая идея: Slice-and-dice. Каждая вершина
дерева помечена не только именем, но и
некоторым численным атрибутом.
Space-filling approach:Treemaps
• Все дерево изображается в виде прямоугольника, а для
изображения поддеревьев используется рекурсивная
процедура разбиения этого прямоугольника на прямоугольники
меньшей площади без дыр и наложений.
• Площадь каждого прямоугольника пропорциональна значению
заданного атрибута
• Направление разбиения меняется с вертикального на
горизонтальное и обратно в зависимости от уровня в дереве.
Space-filling approach:Treemaps
Свойства Slice-and dice
1) Сложность алгоритма
O(n), где n – количество
вершин в дереве.
2) Предсказуемость
3)Наихудший случай для них
- это сбалансированное
дерево, в котором каждая
родительская вершина
имеет одинаковое
количество сыновей, а все
листья имеют одинаковый
размер.
Свойства Slice-and dice
• 4) Создает тонкие прямоугольники с большим
коэффициентом формы. Тонкие прямоугольники
трудно различать, выбирать, помечать.
Прямоугольники разной формы трудно
сравнивать. AR = max (r.width, r.height)/
• min(r.width ,r.height)  1
6
Площади
4
6
6
4 3 22
6, 6, 4, 3, 2, 2, 1
Горизонтальный
коэфф 16/1
Ширины: 6/4,6/4,1,3/4,1/2,1/2,1/4, Коэфф
формы = 4/(1/4) = 16
6
6
4
Вертикальный
36/1
1,1,4/6,3/6,2/6,2/6,1/6 Коэфф
формы = 6/(1/6) = 36
Squarified Treemaps(квадрифицирующий
алгоритм)
• M. Bruls, K. Huising, J. van Wijk Squarified Treemaps
2000 citeseer.ist.psu.edu/bruls99squarified.html
Алгоритм ориентирован на
то, чтобы порождать
прямоугольники с
коэффициентом формы,
близким к 1.
rR
AR = max (r.width, r.height)/
min(r.width ,r.height)  1
Squarified Treemaps(квадрифицирующий
алгоритм)
• Метод основан на двух идеях:
• Не рассматриваются разрезы сразу на всех уровнях.
Вместо этого рассматривается только один уровень
и метод пытается породить квадрато-подобные
прямоугольники для множества братских вершин,
исходя из размеров охватывающего прямоугольника.
Предполагается, что квадратная форма
охватывающего прямоугольника будет хорошей
стартовой точкой для разрезаний последующих
уровней.
• Вместо линий разреза одного уровня, имеющих одно
и то же направление разрешается иметь линии
разреза, имеющие разные направления на одном
уровне.
Квадрифицирующий алгоритм, пример
Площади
4
6
6
4 3 22
6, 6, 4, 3, 2, 2, 1
Горизонтальный
коэфф 16/1
6
6
4
Вертикальный
36/1
Ширины: 6/4,6/4,1,3/4,1/2,1/2,1/4,
1,1,4/6,3/6,2/6,2/6,1/6
Наихудший AR = 4: 1/4 = 16
Наихудший AR = 6: 1/6 = 36
Квадрифицирующий алгоритм, пример
• Шаг 1: AR = 4:1,5 = 8/3
4
1,5
2
Шаг 2: AR= 3:2 =1,5
2
3
4/4
Шаг 3: AR= 4/1 Ухудшение!
6/4
6/4
4
Квадрифицирующий алгоритм, пример
Шаг 4: AR= 3: 4/3.= 9/4
4
3
3
Шаг 5: AR= 49/27
Шаг 6: AR= 9/2 = 4.5 Ухудшение!
Квадрифицирующий алгоритм, пример
Квадрифицирующий алгоритм, идея
1)Порядок прямоугольников имеет значение. Большие
прямоугольники труднее разместить, поэтому список
прямоугольников сортируется по убыванию.
2) Выбор направления размещения – вдоль более короткой
стороны
3)Алгоритм размещает прямоугольники вдоль ряда области
размещения до тех пор, пока наихудший (наибольший)
коэффициент формы в текущем ряду улучшается
4) Как только добавление нового прямоугольника в текущий ряд
начинает давать увеличение наихудшего коэфициента формы,
текущий ряд заканчивается и начинается размещение в
следующем ряду с выбором направления размещения в этом
ряду.
Вычисление наихудшего коэффициента
формы
• 1. Взять сумму площадей
прямоугольников,
размещенных в текущем
ряду.
• s =  ri
• 2. Вычислить величину
второй стороны текущего
ряда:
• h = hi = s/w
• 3. Определить величину
стороны каждого из
укладываемых
прямоугольников:
• wi = ri/h = riw/s
Вычисление наихудшего коэффициента
формы
4. Подсчитать коэффициент формы
для каждого из прямоугольников, то
есть одно его измерение разделить на
другое: Ki = riw/s:s/w = riw2/s2
5. Определить наихудший
коэффициент формы.
worst(R,w) =max (max (rw2/s2, s2/rw2))
rR
Поскольку величина первого терма
возрастает при увеличении r, а второго
- при уменьшении r,
worst(R,w)= max(w2r+/(s2), s2/(w2r-)), где
r+ и r- - это площади самого большого
и самого маленького прямоугольников
в списке R.
Squarified Treemaps(квадрифицирующий
алгоритм)
• Теперь процедуру квадрификации можно описать
следующим образом:
• Вход: - children - список сыновних прямоугольников,
упорядоченный по их площади
•
-row- список уже размещенных
прямоугольников
•
- width - ширина области размещения
• Выход: квадрифицированная карта дерева.
• Будем использовать следующую нотацию для
обозначения операций над списками:
• ++ - операция конкатенации списков
• [x] – список, содержащий элемент x
• [] – пустой список
Squarified Treemaps(квадрифицирующий
алгоритм)
• Квадрификация(list_of_real children, list_of_real row, real w)
•
//направление размещения = вдоль более короткой стороны области
размещения
real c = head(children);/*берем новый элемент из списка*/
•
• если worst_AR(row, w)  worst_AR(row++[c], w)
•
/*если при добавлении нового прямоугольника в текущий ряд worst_AR
уменьшается, продолжить размещение в текущем ряду: */
• квадрификация (tail(children), row++[c], w);
• иначе /* закончить текущий ряд, и разместить текущий прямоугольник в новом
ряду*/
•
•
•
•
•
разместить (row);
квадрификация (children, [],new_width);
}
}
worst_AR - это наихудший коэффициент формы
Продукт фирмы LabEscape
Цвет означает
стоимость
Размер
прямоугольников
–количество
спален
Прямоугольники
сгруппированы по
географической
близости
Cluster (Map of Market)
http://www.smartmoney.com/marketmap
HeatMap фирмы LabEscape.
Treemap- инструмент бизнесс-аналитики
•
•
•
•
•
•
•
•
http://www.hivegroup.com/salesforce.html
Фирма hivegroup
Продукт Honeycomb
Приложения: мониторинг продаж, каталоги
продуктов и т.д.
Дополнительные возможности:
Гибкие возможности группирования объектов
Динамические запросы, позволяющие
фильтрацию данных
Параметризация цвета, размера по выбору
пользователя.
Табличные данные, изображаемые при
помощи Treemap
•
Sales Rep
Manager
Sales Region
Total Sales -- Q4
Quota -- Q4
% of Quotat
•
1.
Brett Black
Albert Bachman,III
Mountain West
$478,920
$614,000
78%
•
2.
Vincent Iorio
Albert Bachman,III
Mountain West
$353,100
$535,000
66%
•
3.
Henry Bateman Albert Bachman,III
Mountain West
$506,610
$433,000
117%
•
4.
Terry Ghent
Albert Bachman,III
Mountain West
$588,240
$342,000
172%
•
5.
William Harp
Albert Bachman,III
Mountain West
$936,320
$616,000
152%
•
6.
Mike Cowgill
Albert Bachman,III
Mountain West
$621,770
$641,000
97%
•
7.
Rex Headlee
Albert Bachman,III
Mountain West
$123,580
$167,000
74%
Treemap- инструмент бизнес-аналитики
Treemap- инструмент бизнесс-аналитики
Данные о
продажах
отфильтрован
ы, и
показывают
10 первых
торговых
представител
ей, сумма
продаж
которых
превышает
установленну
ю квоту
Treemap- инструмент бизнесс-аналитики
Данные о
продажах
отфильтрованы,
и показывают 16
первых торговых
представителей,
сумма продаж
которых ниже
установленной
квоты. Можно
видеть, что все
они находятся в
Mountain West и
SouthWest,
поэтому имеет
смысл
побеседовать с
региональным
менеджером
Квадрифицирующий алгоритм,
достоинства
Подход, позволяющий изображать все вершины в виде
прямоугольников близких по форме к квадрату имеет ряд
преимуществ:
• - Пространство дисплея используется более эффективно.
Количество пикселей, которое будет использовано для
изображения границы, пропорционально периметру. Он
минимален в случае, если все прямоугольники являются
квадратами;
• - Квадратные элементы легче различать и указывать, а тонкие
прямоугольники могут запутать и привести к ошибкам;
• - Сравнение размеров прямоугольников легче осуществить,
когда их коэффициенты формы подобны;
• - Улучшается аккуратность представления.
Квадрифицирующий алгоритм,
достоинства
•
Этот алгоритм применим в тех случаях, когда порядок элементов
несущественен, а гораздо важнее видеть структуру дерева.
По сравнению с продольно-поперечной сегментацией, он улучшает
видимость элементов небольшого размера и позволяет
контролировать форму изображаемых элементов.
Сложность алгоритма квадрификации можно оценить следующим
образом: сортировка прямоугольников по площади требует O(nlogn).
Остальное время вычислений зависит от среднего количества
прямоугольников в каждом ряду. Поскольку размер каждого
прямоугольника в текущем ряду должен перевычисляться при
добавлении нового прямоугольника в ряду, время вычислений
становится O(nlogn)+ O(n(n)), где (n )- это среднее количество
прямоугольников в ряду.
В худшем случае, когда все прямоугольники попадут в один ряд, (n)=
n, оценка сложности таких перевычислений станет O(n2). Но в
среднем, один ряд будет иметь порядка O(n) прямоугольников, давая
среднюю оценку сложности O(nn).
Квадрифицирующий алгоритм,
недостатки
• Существенным недостатком квадрифицирующего алгоритма
является его неупорядоченность. Поскольку элементы в
процессе работы алгоритма сортируются по размеру,
естественное упорядочение данных может быть утрачено, хотя
во многих приложения желательно поддерживать
первоначальный порядок данных.
• Также, квадрифицированное изображение менее читаемо в
приложениях, где нужно отыскивать какой-то определенный
элемент.
• Замена одного единственного элемента может полностью
изменить изображение, делая его непредсказуемым и
затрудняя ориентацию пользователя в изображаемых данных.
• Например, при посекундном изменении данных (курсы акций в
приложении Карта рынка) трудно отслеживать и выбирать
определенный элемент, внимание пользователя отвлекается от
данных, мысленная картина данных не запоминается даже при
длительном пользовании.
Упорядоченные карты дерева
B. Shneiderman, M.Wattenberg Ordered and quantum treemaps
Information Visualization, 2001 INFOVIS 2001, P. 73-78.
Идея упорядоченной карты дерева состоит в том, что если
элементы расположены рядом в некотором линейном
упорядочении, то их изображения должны оказаться смежными
в карте дерева.
Достоинства:
• при динамических обновлениях данных изображение меняется
достаточно гладко;
• изображения элементов имеют достаточно хороший
коэффициент формы = читаемость;
• сами элементы появляются в предсказуемом визуально
упорядоченном стиле (например в алфавитном порядке).
Полосковая карта дерева(Strip Treemap)
• Вход: L - Список размещаемых
элементов, упорядоченных по
некоторому атрибуту,
• R - прямоугольник для размещения.
• Выход: Полосковая карта дерева
• Шаг 1. Отмасштабировать площади
прямоугольников таким образом, чтобы
суммарная площадь всех входных
прямоугольников равнялась бы площади
области размещения.
• Шаг 2. Создать новую пустую полосу,
называемую текущей_полосой
Полосковая карта дерева(Strip Treemap)
• Шаг 3. Добавить следующий прямоугольник к
текущей полосе, также как в квадрифицирующем
алгоритме, вычислить высоту полосы, а затем ширину всех прямоугольников текущей полосы.
• Шаг 4. Если средний коэффициент формы
прямоугольников текущей полосы увеличился в
результате добавления прямоугольника на Шаге
3, вернуть прямоугольник в список L и на Шаг 2.
• Шаг 5. Если все прямоугольники обработаны,
стоп. Иначе на Шаг 3.
Полосковая карта дерева, Просмотр
вперед
• Поскольку решение о том, добавить ли прямоугольник к
текущей или к новой полосе принимается на основе среднего
коэффициента формы текущей полосы, можно получить на
заключительном этапе размещения несколько тонких
прямоугольников с плохим коэффициентом формы.
• Проблему можно решить с помощью просмотра вперед.
• Сравнивается комбинированный средний коэффициент формы
прямоугольников в текущей полосе и в будущей полосе с
коэффициентом формы, который получится при перемещении
нескольких прямоугольников из будущей полосы в текущую
полосу. Если средний коэффициент формы ниже при их
добавлении к текущей полосе, то они и перемещаются туда.
Полосковая карта дерева,
вычислительная сложность
• Сложность полоскового алгоритма оценить следующим
образом.
• Для каждого прямоугольника алгоритм вычисляет средний
коэффициент формы текущей полосы.
• Поскольку размер каждого прямоугольника в текущем ряду
должен перевычисляться при добавлении нового
прямоугольника в ряду, время вычислений становится
O(n(n)), где (n )- это среднее количество прямоугольников в
ряду. Если (n) ≤ O(nlogn), то и оценка будет O(nlogn) .
• В худшем случае, когда все прямоугольники попадут в один ряд,
(n)= n, оценка сложности таких перевычислений станет O(n2).
• Но в среднем, один ряд будет иметь порядка O(n)
прямоугольников, давая среднюю оценку сложности O(nn).
Полосковая карта дерева
• В отличие от квадрифицированного и
упорядоченного алгоритмов, которые перевычисляют
направление укладки на каждом шаге, направление
размещения прямоугольников в данном случае
фиксировано с самого начала вдоль более длинной
стороны.
• Список прямоугольников первоначально
упорядочивается по заданному атрибуту.
Размещение прямоугольников предсказуемо, в том
смысле, что порядок элементов фиксирован заранее.
Приложение Newsmap
http://www.marumushi.com/apps/newsmap/newsmap.cfm
Приложение Newsmap
http://www.marumushi.com/apps/newsmap/newsmap.cfm
Метрики, используемые для сравнения
качества размещения
•
•
•
Средний коэффициент формы размещения
Функция расстояния, введенная на
множестве размещений и оценивающая,
насколько изменится размещение при
изменении данных (предсказуемость или
стабильность).
Читаемость, которая указывает, насколько
легко при помощи визуального просмотра
найти заданный элемент.
Метрики, используемые для сравнения
качества размещения
• Средний коэффициент формы определяется как среднее
арифметическое коэффициентов формы листовых
прямоугольников. Наилучшее значение, равное 1, означает, что
все прямоугольники являются идеальными квадратами.
• ARavg(P) =1/n  AR(ri),
•
riL
• Это не единственная возможная мера. Дополнительно можно
было бы использовать площадь в качестве весового
коэффициента, поскольку прямоугольники большей площади
визуально более заметны.
• Невзвешенное среднее выбрано потому, что плохая видимость
и неудобное размещение меток одинаково важны и для
больших и для малых прямоугольников.
Метрики, используемые для сравнения
качества размещения
• Функция изменения расстояния между отдельными
размещениями. Пусть прямоугольник r определяется
четверкой (x,y,w,h), где x и y – это координаты верхнего
левого угла, а w и h - это ширина и высота соответственно.
• Если прямоугольники r1 и r2 задаются четверками (x1,y1,w1,h1)
и (x2,y2,w2,h2) соответственно, то расстояние между ними
будем вычислять по формуле:
d ( r1 , r2 )  ( x1  x 2 ) 2  ( y1  y 2 ) 2  ( w1  w2 ) 2  ( h1  h2 ) 2
Функция изменения расстояния между отдельными размещениями
определяется как среднее арифметическое расстояний между
каждой парой соответственных прямоугольников.
Distavg(P1, P2)= 1/n d(ri1, ri2)
riL
Метрики, используемые для сравнения
качества размещения
Мера читаемости оценивает, сколько раз, взгляд
пользователя меняет направление при просмотре
размещения по порядку.
Readability = 1- nchange/n.
Для этого рассматривается последовательность векторов,
соединяющих центры прямоугольников по порядку и
подсчитывается количество изменений угла между
последовательными векторами, если они превышают 0.1
радиана (примерно 6 градусов).
Для нормализации меры, величина делится на количество
прямоугольников, а затем вычитается из единицы.
Результирующее значение равно 1 для наиболее читаемого
случая, такого как полосковый алгоритм, и близко к 0 для
размещений, в которых порядок сильно перепутан.
Экспериментальное сравнение различных
стратегий построения карты дерева
1.
Существует обратная зависимость между коэффициентом
формы и гладкостью изменения расстояния между
размещениями при изменении данных:
a.
b.
c.
2.
наибольшие значения коэффициента формы соответствуют
алгоритму продольно-поперечных сечений, этот же алгоритм
является наиболее стабильным(предсказуемым) при изменении
данных.
На противоположном конце спектра находится
квадрифицирующий алгоритм, который дает наилучший
коэффициент формы, но является наименее стабильным
(предсказуемым).
Между ними находится полосковый алгоритм, который дает
коэфффициент формы, хуже, чем у квадрифицирующего
алгоритма, но зато лучшую предсказуемость.
Также полосковый алгоритм является самым читаемым из
всех алгоритмов.
Смешанные карты дерева
• Изначально предполагалось, что один и тот же базовый
алгоритм построения карты дерева применяется на всех
уровнях иерархии. Но количество вариантов размещения можно
расширить, если разрешить использовать разные алгоритмы
на каждом уровне дерева или даже в каждой отдельной
вершине. Например, можно применять квадрифицирующий
алгоритм на уровне i, а полосковый – на уровне i + 1.
• Также можно рассматривать размещение прямоугольников не
из верхнего правого угла, а с любой произвольной точки
охватывающего прямоугольника, предварительную сортировку
прямоугольников по возрастанию, а не по убыванию и много
других возможностей.
Nested Treemap (Johnson,
Schneiderman, 1991)
Отдельное направление исследований
связано с тем, как лучше выделить
иерархию многоуровневой карты
дерева. На таких изображениях хорошо
идентифицируются листовые вершины,
а идентификация внутренних вершин
дерева – затруднительна. Наиболее
простое решение было предложено в
первый момент появления карт дерева.
Оно было основано на введении
дополнительных «рамочек» вокруг
каждого прямоугольника, обозначающих
вложенность сыновних
прямоугольников в родительский
прямоугольник.[Schneiderman,1991]
P. McConnell “Applications of Treemaps to
hierarchical biological information”
Вложенные карты дерева
• Недостатки:
• Для изображения границ требуется дополнительная
площадь;
• Изображение сильно напоминает лабиринт;
• Можно дополнительно менять свойства окружающих
линий. Но количество вариаций в ширине линий или
их интенсивности, которые можно различать без
труда, невелико;
• Раскрашивание прямоугольников тоже не решает
проблему. Так как раскраска не дает естественного
вида и желательно использовать цвета для
отображения атрибутов.
Cashion Treemap (Jarke J. van Wijk and
Huub van de Wetering 1999)
Cushion treemap
Существует немало программ, которые
используют подушечные карты для
визуализации содержимого жесткого
диска, чтобы видеть как память
используется разными типами файлов:
SequioaView (Windows), Disk Inventory X
(Mac OSX), KDirStat (Linux).
Cushion treemap
Человеческий зрительный аппарат
интерпретирует вариации тени как
освещенные поверхности.
Идея: построить поверхность, чья форма
кодирует структуру дерева.
Пример. Бинарное дерево. Делим
горизонтальный интервал пополам и
добавляем выпуклость к каждой половинке и
продолжаем процесс рекурсивно. К каждому
под-интервалу добавляется новая
выпуклость, той же формы, но меньшего
размера. Если проинтерпретировать эту
кривую как вид сбоку и изобразить ее вид
сверху , то выпуклости преобразуются в
последовательность складок.
Cushion treemap
• Идею можно обобщить на двумерный случай:
• Предположим, что ось x направлена горизонтально, ось y
вертикально, а ось z в нашу сторону. Если делить
прямоугольник в направлении x, мы создаем складки
параллельные оси y . Если же делить прямоугольник в
направлении y, мы создаем складки параллельные оси x.
• В результате создаются подушки: суммирование
ортогональных складок дает подушко-образную форму.
• Численно, простейший выступ, который можно сгенерировать
– это парабола. Поэтому для каждого прямоугольника карты
дерева генерируется сегмент параболической поверхности.
Высота поверхности z вычисляется по формуле:
• z(x, y) = ax2 + bx2 + cx + dy + e
• Первоначально поверхность плоская: все коэффициенты
равны 0.
Cushion treemap
• Рассмотрим прямоугольник, который получается от деления
площади вдоль оси x.
• x1 и x2 это границы прямоугольника в направлении x .
• Для выделения этого прямоугольника добавляется выпуклость
z:
z ( x, y ) 
x1
4h
( x  x1 )( x 2  x)
( x 2  x1 )
x2
, где h-параметр
Высота складки равна 0 при x = x1 и x1 = x2
и равна (x2-x1)*h в центре прямоугольника
(x1+x2)/2.
Cushion treemap
• Разбиение в направлении y выполняется аналогично.
Добавляется складка
4h
z ( x, y ) 
( y  y1 )( y2  y )
( y2  y1 )
•
где y1 и y2 границы обрабатываемого
прямоугольника.
• Чтобы подчеркнуть глобальную структуру дерева,
использовалось убывающее значение h: hi = fih.
• hi – это текущее значение h для уровня i в дереве,
• f - это масштабирующий коэффициент 0 ≤ f ≤ 1.
y2
y1
Cushion treemap
• Для затенения изображения использовалась модель
диффузного отражения:
• Вычисляется нормаль к поверхности
• n = [1, 0, z/x] x [0, 1, z/y] = [-z/x, - z/y ,1] =
• [-(2ax+c), -(2by+d), 1].
• Интенсивность освещения задается формулой:
• I = Ia +Is max(0, nl/|n||l|)
• Ia – интенсивность рассеянного света
• Is интенсивность направленного источника
освещения,
• l - это вектор, направленный в сторону источника
света.
Cushion treemap, достоинства
• Эффективность: типичная генерация
изображения занимает меньше секунды
• Выразительность (структура иерархии
действительно лучше видна)
• Компактность: более 3000 листьев можно без
проблем показать на изображении с
резолюцией 640х480
• Легкость в реализации
• Управляемость (есть настроечные
параметры)
Трехмерные карты дерева
Радиальный метод заполнения
пространства для анализа траффика в
компьютерной сети
Monitoring Network Traffic with Radial Traffic Analyzer
Daniel A. Keim Florian Mansmann J¨orn Schneidewind Tobias Schreck
University of Konstanz, Germany
Для каждого пакета хранится
семерка, имеющая вид (время,
IP-адрес отправителя, IPадрес получателя, порт
отправителя, порт получателя,
протокол, количество байтов).
2 внутренних кольца изображают IP-адреса отправителя и
получателя, 2 внешних кольца – порты отправителя и получателя.
Разбиение кольца осуществляется пропорционально некоторому
численному атрибуту: количеству соединений, количеству пакетов...
Обнаружение атак от других компьютеров
Внешнее кольцо – тревожные сообщения, генерируемые системой
детекции вторжений(IDS).
Обнаружение сканирования портов
http://flowingdata.com/2008/05/05/americanconsumers-spend-more-money-on-cheesethan-on-computers/
Voronoi treemap
– Использует для
разбиения площади
изображения
диаграммы Вороного.
– Площадь
изображения не
обязана быть
прямоугольником.
Balzer M, Deussen O.
2005. Voronoi Treemaps.
Proceedings Information
Visualization. :49-56.
Voronoi treemap (начальные условия)
•
•
•
•
Расположение объектов должно полностью
использовать заданную площадь, не
порождая ни дыр, ни наложений.
Объекты должны отличаться, например они
должны иметь нерегулярную форму.
Соотношение между шириной и высотой
должно сходиться к 1.
Братья не должны самопроизвольно
группироваться , чтобы изображение
иерархии было недвусмысленным.
Voronoi treemap
•
•
•
•
Центроидное замощение Вороного, это такое разбиение, где
генераторы являются центрами масс соответствующих областей
Вороного.
ЦЗТ (центроидное замощение Вороного) вычисляется итеративно
методом Ллойда:
1) Строится замощение Вороного для заданного распределения
множества точек P внутри ограниченной области S.
2) На каждом шаге итерации каждая точка pi передвигается в центр
масс ci своего многоугольника VS(pi), и процедура повторяется до
тех пор пока, ошибка между между позициями точек pi и центрами масс
ci областей Вороного VS(pi), не станет меньше .
Voronoi treemap
• Описанной выше процедурой, можно построить карту Вороного
с одинаковыми значениями на листах (одинаковой площади).
Но для отображения численных атрибутов надо генерировать
размещение, в котором различные вершины имеют различные
значения.
• Для этого была расширена метрику расстояния, добавлением
параметра размера к каждой точке. Это соответствовало
вычислению разбиения Вороного с окружностями в качестве
объектов генерации, где параметром размера является радиус
окружности.
AW тесселяция Вороного:
PW тесселяция Вороного:
Voronoi treemap
AW
PW
Voronoi treemap
• Позволяет разбивать произвольные
многоугольники
• Сложность не менее O(nlogn)
• Хорошо распараллеливается
Другие методы заполнения
пространства - Icicle Trees
• Ребра изображаются
геометрической
смежностью
соответствующих
прямоугольников.
• icicle tree реализовано в
рамках инструментария
infovis(jean-daniel fekete)
Information slice
• K. Andrews, H. Heidegger
• “Information Slices:
• Visualising and Exploring Large
Hierarchies using Cascading SemiCircular Discs”
– Еще один метод визуализации
заполнением пространства.
– Радиальная версия деревьев
icicle .
– Размер вершины
пропорционален углу,
занимаемому вершиной.
Node Link против Space Filling
• Достоинства Node Link
– Показывают структуру и место элемента в этой
структуре
– естественность
• Недостаток:
– Трудно увеличивать кол-во вершин(100 nodes)
• Достоинства Space Filling
– Используется 100% экранного пространства, хорошо
адаптируются к большому количеству вершин
– Очень легко просматриваются листовые вершины
• Недостаток:
– Труднее видеть структуру иерархии, нелистовые
вершины
Эластичные иерархии
• Гибрид диаграмм
связей вершин и
карты дерева
• Позволяет
просматривать
много ветвей дерева
одновременно, а
также вставлять S Zhao, MJ McGuffin, MH Chignell.
контекстную
“Elastic hierarchies: Combining
информацию
treemaps and node-link diagrams”,
2005
Download