Визуализация пересечений множества множеств


30

Есть ли модель визуализации, которая хороша для отображения пересечения многих множеств?

Я думаю что-то вроде диаграмм Венна, но это может как-то подойти для большего числа наборов, таких как 10 или более. Википедия показывает некоторые диаграммы Венна с более высокими наборами, но даже диаграммы с четырьмя наборами - это много, что нужно принять.

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


1
Связано, но для небольшого количества наборов (для справки): stats.stackexchange.com/questions/4211/…

Ответы:


18

Когда у вас есть большое количество наборов, я бы попробовал что-то более линейное и показывающее ссылки напрямую (например, сетевой график). У Flare и Protovis есть утилиты для обработки этих визуализаций.

Посмотрите этот вопрос для некоторых примеров, подобных этому:

альтернативный текст


(+1) Хороший ответ! - Мне особенно нравится графика. Мне было интересно, есть ли способ сделать это в R?
Suncoolsu

1
Я не знаю ни одного способа сделать это; мой пакет webvis предоставляет оболочку для Protovis, но было бы много работы, чтобы заставить его сделать эту графику. Кстати, в этой статье представлена ​​«дуговая диаграмма», которая связана с: ieg.ifs.tuwien.ac.at/~aigner/teaching/ws06/infovis_ue/papers/…
Шейн,

1
@suncoolsu, диаграмма пакета R может выполнять ту же «диаграмму дуги», на которую указал Шейн. Похоже, что сделать так, чтобы «сюжетная паутина» выглядела так, как показано выше. cran.r-project.org/web/packages/diagram/vignettes/diagram.pdf .
Энди W

и Энди. Спасибо за ответ. @ Шейн, я видел твою посылку. Но мне все еще нужно исследовать это дальше. Мне очень нравятся графики протоисов. У них отличный сайт.
Suncoolsu

1
Хороший график, но он не отвечает на первоначальный вопрос, так как вы не можете представить пересечение 3 или более множеств. Есть ли вариант этого, который делает?
nassimhddd

11

Это не будет конкурировать с ответом @ Shane, потому что круглые дисплеи действительно хорошо подходят для отображения сложных взаимосвязей с многомерными наборами данных.

venn()Кзнак равно4

Кзнак равно4

Для дальнейшего ознакомления вас может заинтересовать

Kestler et al. Обобщенные диаграммы Венна: новый метод визуализации сложных генетических отношений множеств , Биоинформатика, 21 (8), 1592-1595 (2004).

Однако у диаграмм Венна есть свои ограничения. В этом отношении мне нравится подход, использованный Робертом Косарой в Sightings: Vennerable Challenge , или с параллельными наборами (но см. Также это обсуждение в блоге Эндрю Гельмана).


Это выглядит хорошо. Мне бы понравилось, если бы он принимал не числовые. Кажется, нужно сначала преобразовать их данные в числовой список.
eastafri

Для практических целей было бы здорово включить некоторые скриншоты
user5783745

7

Мы разработали матричный подход для пересечений множеств, называемый UpSet, вы можете проверить его на http://vcg.github.io/upset/ . Вот пример:

Скриншот UpSet

Матрица слева идентифицирует пересечение, которое представляет строка, например, последняя строка здесь - это пересечение жанров фильма «Действие, Приключение и Дети». Столбцы справа показывают размер пересечения, 4 в этом примере.

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

Теперь есть также статическая версия для R, которую вы можете найти на вышеупомянутом веб-сайте или перейдя по ссылке: https://github.com/hms-dbmi/UpSetR/

Современный отчет о визуализации множества доступен по адресу http://www.cvast.tuwien.ac.at/SetViz - большинство из них академические и не содержат готового кода.


1
Что касается меня, то изображение, которое вы выложили, является скорее примером переполнения, со слишком большой информацией, упакованной на одном участке ...
Тим

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

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

@ Тим, я согласен, что простые всегда лучше, но сложные вопросы иногда имеют сложные ответы. Причина, по которой этот вопрос был задан в первую очередь, заключается в том, что до настоящего времени не существует убедительной, простой техники визуализации для работы с большим количеством пересечений множеств. Принятый ответ касается только пересечений с 2 ​​степенями, которые по мере увеличения числа множеств становятся все меньшей и меньшей частью общего числа пересечений.
ThomasP85

... и ваш пример с круговыми диаграммами связан с тем, что люди (эксперты или нет) ужасно сравнивают углы, поэтому круговые диаграммы никогда не следует использовать :-)
ThomasP85
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.