Визуализация данных: Пузырьковые диаграммы, схемы Венна и облака тегов (о, мой!)

Предположим, что у меня есть большой список объектов (тысячи или десятки тысяч), каждый из которых отмечен с горсткой тегов. Существуют десятки или сотни возможных тегов, и их использование следует закону о типичном питании: некоторые теги используются чрезвычайно часто, но большинство редко. Все кроме самой частой пары дюжина тегов могли обычно игнорироваться на самом деле.

Теперь проблема состоит в том, как визуализировать отношения между этими тегами. Облако тегов является хорошей визуализацией просто их частот, но оно игнорирует, какие теги происходят с который другие теги. Предположим тег: панель только происходит на объектах, также отмеченных: нечто. Это должно быть визуально очевидно. Так же для трех тегов, которые имеют тенденцию происходить вместе.

Вы могли сделать каждый тег пузырем и позволить им частично наложиться друг с другом. Технически это - схема Венна, но обработка ее тот путь могла бы быть громоздкой. Например, диаграммы Google могут создать схемы Венна, но только для 3 или меньшего количества наборов (теги): http://code.google.com/apis/chart/docs/gallery/venn_charts.html
Причина они ограничивают его 3 наборами, состоит в том, что больше и это выглядит ужасающим. См. "расширения более высоких чисел наборов" на странице Wikipedia: http://en.wikipedia.org/wiki/Venn_diagrams

Но это - то, только если каждое возможное пересечение непусто. Если не больше, чем 3 тега когда-нибудь co-occur (возможно, после вывода редких тегов) затем набор схем Венна могли работать (с размерами пузырей, представляющих частоту тега).

Или возможно график (как в вершинах и краях) с визуально более толстыми или более тонкими краями для представления частоты совместной встречаемости.

У Вас есть какие-либо идеи или указатели на инструменты или библиотеки? Идеально я сделал бы это с JavaScript, но я открыт для вещей как R и Mathematica или действительно что-либо еще. Я рад совместно использовать некоторые фактические данные (Вы будете смеяться, если я скажу Вам, что они представляют), если кому-либо любопытно.

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

8
задан dreeves 23 May 2011 в 17:01
поделиться

2 ответа

Если я правильно понимаю ваш вопрос, матрица изображений здесь должна хорошо работать. Я имею в виду реализацию, представляющую собой матрицу размером n x m, в которой отмеченные элементы представляют собой строки, а каждый тип тегов представляет собой отдельный столбец. Каждая ячейка в матрице будет полностью состоять из «1» и «0», т.е. конкретный элемент либо имеет заданный тег, либо его нет.

В приведенной ниже матрице (которую я повернул на 90 градусов, чтобы она лучше вписывалась в это окно - так что столбцы на самом деле представляют отмеченные элементы, а каждая строка показывает наличие или отсутствие данного тега во всех элементах), я смоделировал сценарий, в котором есть 8 тегов и 200 тегированных элементов . , «0» - синий , а «1» - светло-желтый .

Все значения в этой матрице были выбраны случайным образом (каждый отмеченный элемент представляет собой восемь розыгрышей из коробки, состоящей из двух токенов, одного синего и одного желтого (без тега и тега, соответственно). Поэтому неудивительно, что нет никаких визуальных свидетельств наличия шаблона здесь, но если он есть в ваших данных, этот метод, который чрезвычайно прост в реализации, может помочь вам найти его.

Я использовал R для генерации и построения смоделированных данных, используя только базовый графика (без внешних пакетов или библиотек):

# create the matrix
A = matrix(data=r1, nrow=1, ncol=8)

# populate it with random data
for (i in seq(0, 200, 1)){r1 = sample(0:1, 8, replace=TRUE); A = rbind(A, r1)}

# now plot it
image(z=A, ann=F, axes=F, col=topo.colors(12))

alt text

5
ответ дан 5 December 2019 в 17:33
поделиться

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

Некоторые библиотеки, которые были бы очень хороши для этого, включают:

Некоторые другие интересные библиотеки JavaScript, на которые стоит обратить внимание:

2
ответ дан 5 December 2019 в 17:33
поделиться
Другие вопросы по тегам:

Похожие вопросы: