Может ли R создать изображение барплота с кликабельными полосами для вставки на веб-страницу? - PullRequest
7 голосов
/ 17 февраля 2012

Я знаю, как создать барплот и как его наклеить на веб-страницу;например, используя hwriteImage в пакете hwriter .

Мне бы хотелось, чтобы каждый бар был областью, которая выделяется при наведении курсора, и где каждая полоса имеет свою ссылкущелкнул.Подобно этой карте США , использующей плагин jQuery maphilight , но для барплота, а не для карты.Я полагаю, что R мог бы вычислить координаты областей вокруг каждого бара, сгенерировать тег HTML AREA и т. Д. И довольно легко передать его в maphilight.Это уже сделано?Я искал, но пока не повезло.

1 Ответ

9 голосов
/ 17 февраля 2012

Посмотрите здесь , который суммирует несколько методов: rggobi и iplots. rggobi выглядит довольно многообещающе, хотя, возможно, установка выглядит немного сложнее. iplots подходит только для точечных диаграмм.

Некоторые другие варианты (я думаю, что они самые сильные на данный момент):

googleVis

Пакет googleVis взаимодействует с API Google Charts: попробуйте demo(googleVis), а третий и четвертый столбчатые диаграммы (их может быть больше). Преимущество в том, что с ним довольно просто начать работу, хотя это не R-графика:

df=data.frame(country=c("US", "GB", "BR"), val1=c(10,13,14), val2=c(23,12,32))
Column <- gvisColumnChart(df)
plot(Column)

gridSVG

gridSVG экспортирует текущую графику сетки в файл .svg, который может быть включен в веб-страницу. В отличие от googleVis, это R графика (так что вы можете использовать grid / ggplot2, которые более знакомы). Похоже, что вам, возможно, придется знать некоторый Javascript, чтобы еще больше украсить свои сюжеты (например, для анимации при наведении курсора мыши вы используете grid.garnish(...,onmouseover=...)).

Вот пример кода, который вы можете попробовать здесь (Действительно замечательные здесь - обычно нажатие на ссылку "SVG-файл" приводит к полной интерактивности / анимации.) ( Это - диаграмма рассеяния, где точки подсвечиваются, когда вы наводите на них мышью).

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...