Создание визуализации TreeMap - PullRequest
3 голосов
/ 09 августа 2010

Мне нужен алгоритм для создания визуализации Treemap.

Примерно так: Простой способ создать карту дерева

Проблема в том, что я не хочуиспользуйте R ... и я хочу исходный код.Желательно в Python или Java.

Дело в том, что я должен настроить его ... вместо цветов я хочу изображения, поэтому что-то, что дает мне координаты, было бы здорово.

Спасибо,

Ответы [ 6 ]

10 голосов
/ 09 августа 2010

Библиотека TreeMap Java на SourceForge.net является реализацией открытого исходного кода. алгоритм описан в статье Бена Шнайдермана .

Существует также ссылочная реализация, связанная со страницей истории Шнайдермана Treemap .

4 голосов
/ 09 августа 2010

В статье Википедии , похоже, есть хорошие ссылки в конце.

Я бы, наверное, сначала попробовал легкий подход рекурсии и пропорционального деления. На первом уровне дерева разделите целевую область по вертикали (каждая область здесь является ветвью, размер области зависит от размера ветви):

+-------+-------+-------+
|       |       |       |
|       |       |       |
|       |       |       |
|       |       |       |
|       |       |       |
|       |       |       |
+-------+-------+-------+

На втором уровне разделите по горизонтали:

+-------+-------+-------+
|       |       |       |
+-------+       |       |
|       +-------+       |
|       |       |       |
|       |       +-------+
|       |       |       |
+-------+-------+-------+

На третьем уровне снова разделить по вертикали:

+--+----+----+--+----+--+
|  |    |    |  |    |  |
+--+-+--+    |  |    |  |
|    |  +-+--+--+    |  |
|    |  | |     |    |  |
|    |  | |     +---++--+
|    |  | |     |   |   |
+----+--+-+-----+---+---+

Etc.

2 голосов
/ 13 марта 2012

IBM ManyEyes позволяет вам показывать ваши данные в виде Treemap:

http://www -958.ibm.com / software / data / cognos / manyeyes / page / Treemap.html

Принимает данные таблицы в качестве входных данных.В результате вы можете получить подробную информацию о каждой части древовидной карты, отфильтровать и реорганизовать древовидную карту.

Недостатками являются отсутствие настройки (цветовая гамма и т. Д.) И тяжесть Java.

2 голосов
/ 10 августа 2010

Prefuse также реализовал TreeMap.Вот пример .Вот код для примера .

2 голосов
/ 09 августа 2010

Это еще один хороший стартер - ЛОТ для чтения и архив, содержащий алгоритмы древовидной карты.Часть визуализации может отсутствовать.

0 голосов
/ 31 января 2012

Другой вариант - использовать библиотеку JavaScript, которая позаботится о стороне алгоритма и сосредоточится только на части презентации с манипулированием CSS.

Проверьте, например, D3: http://mbostock.github.com/d3/ex/treemap.html

Вы можете добавить для каждого из divs

background-image: url('path/to/image.png');
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...