Общей целиUpdate большие участки в Shiny без повторного рендеринга
Я хотел бы иметь возможность использовать RShiny быстро построить большие объемы данных, что исходит от R, а затем внести небольшие изменения или дополнения без повторного -обеспечение всех построенных данных.
Конкретные задачи
- Участок большого количества точек (< 100 000) в графике рассеяния. Я в порядке с короткой (< 5 секунд), но заметной задержкой в этой задаче.
- В ответ на щелчок мышью найдите ближайшую нанесенную точку.
- Используя некоторую информацию, запрошенную из данных, относящихся к этой точке, выделите небольшое количество других точек (< 10). Я хотел бы, чтобы это было мгновенно.
Текущий подход
Я в настоящее время используют ggplot2 и RShiny, чтобы приложения, чтобы помочь с анализом данных. В общем, я очень доволен этой комбинацией. Поэтому в идеале это решение позволит мне в основном использовать эти инструменты.
Используя только встроенную функциональность RShiny и ggplot2, у меня нет никаких проблем выполнения своей задачи, за исключением, что шаг 3 не может быть сделано независимо друг от друга, без переделывания шага 1. Это мое понимание того, что это не представляется возможным обновлять или накладывать графики ggplot2 без повторной рендеринга их в полном объеме.
Итак, что я ищу, это один из следующих действий для достижения своей общей цели, в порядке убывания предпочтения:
- Способ наложения или модифицировать ggplot2 участки без повторного рендеринга.
- Расширение или вилка или аналогичные R-based на ggplot2, что позволяет это.
- Альтернатива ggplot2, которая также легко интегрируется с данными RShiny и R, которые могут это позволить. Может быть, какой-то интерфейс к существующей библиотеке javascript? Я все равно хотел бы иметь возможность манипулировать и взаимодействовать с моим сюжетом, используя все машины RShiny, с которыми я знаком.
У меня есть некоторые знания о js, но я не хочу изучать что-то вроде d3, чтобы выполнить такую маленькую задачу. (Если для этого можно использовать небольшой бит d3 или js, это было бы здорово!) Было бы хорошо, если бы можно было эффективно рисовать svg поверх графиков ggplot2, но используя ту же систему координат.
Я знаю this question, но предоставленное решение было специфичным для данных временных рядов.
Вы посмотрели на 'plotly'? Он имеет некоторую интерактивность. Существует также 'ggvis', но он еще не закончен - видимо. –
Я коротко посмотрел на сюжет. Мое впечатление было то, что функция ggplotly была очень медленной, чтобы выполнить шаг 1. Если есть способ использовать plotly с R в некотором урезанном пути, это может быть хорошо. Я не знаком с ggvis, может быть, это билет. – mb7744
'ggvis' - следующая большая работа Хэдли Викама и предполагается добавить интерактивность к ggplot. К сожалению, оказалось, что требуется больше реструктуризации, чем он думал поначалу, так что это займет год или два дольше, чем первоначально было объявлено. –