В CrossValidated есть похожий вопрос, и я прочитал ответы. Мой вопрос немного другой. Я не хочу просто визуализировать свои данные, и на самом деле то, что я хочу визуализировать, нелегко визуализировать с помощью любого пакета.
У меня есть два набора точек ( координаты ) на моем графике. Я хочу добавить ребра и сделать их похожими на график. Если у меня есть точек, то в зависимости от характера моей проблемы мне нужно добавить ребер к графику.
Затем я хочу добавить некоторые интерактивные функции в мой сюжет. Например, если щелкнуть одну точку (вершину), все другие вершины, которые не связаны с этой вершиной, на которую щелкают, должны исчезнуть, чтобы получить более четкий и сфокусированный график.
Я попытался найти пакет сетевой визуализации, подходящий для моего проекта, но, похоже, все они используют данные о соединении ребер или узлов и предоставляют сеть на основе какого-то определенного алгоритма компоновки. Мои данные разные. У меня есть координаты узлов, и я хочу установить некоторые ребра между некоторыми из них. В моих данных узлы имеют свои собственные фиксированные местоположения и не должны перемещаться.
Наконец, я сузил пакеты до ggvis
и ggplot2
. ggvis
является новым и свежим в дополнение к намеренному дизайну для создания интерактивных сюжетов. Но я узнал, что ggplot2+Shiny
можно также создавать интерактивные сюжеты. (Это правильно?) Кроме того, я подумал, что ggplot2
возможности более разнообразны и более развиты, чем ggvis
: например, ggplot2
есть функция масштабирования, а ggvis
у нее ее нет. Что более важно, так как ggvis
он растет и меняется, я не хочу тратить много времени на работу, которая технически устареет или станет глючной через год или около того. Я думал, что это тот случай, если я на основе кода ggvis
.
Теперь, пожалуйста, оцените мой выбор ( ggplot2+shiny
) и посоветуйте мне возможность сделать то, что я хочу с ним сделать.
Поскольку я не знал ни одного из упомянутых пакетов, я начал учиться ggplot2
из книги Уикхема, и мне это нравится! Но я боюсь провести несколько недель и выяснить, что этот удивительный пакет не может делать то, что я хочу сделать, даже с помощью Shiny
.
PS: я хочу поместить окончательный код на github, чтобы вероятные пользователи могли его скачать и запустить. Поэтому мне не нужно делать веб-приложение, нет необходимости ни в каком веб-сайте или выкладывать интерактивную карту в онлайн. Мне просто нужно иметь интерактивный сюжет, который можно запустить изнутри Rstudio.
igraph
или D3?