Внедрение диаграмм googleVis на веб-сайт
Чтение из googleVis package виньетка: "С пользователи пакета googleVis могут создавать легко веб-страницы с интерактивными диаграммами на основе R-кадров данных и отображать их либо через пакет R.rsp , либо на своих собственных сайтах. Следуя инструкциям, я смог увидеть образцы диаграмм, используя метод plot для объектов gvis. Этот метод по умолчанию создает rsp файл в папке rsp/myAnalysis пакета googleVis, используя информацию об идентификаторе типа и диаграммы объекта и выводит результат с использованием локального веб-сервера пакета R.rsp(порт 8074 по умолчанию).
Может ли кто-нибудь помочь мне (или предоставить некоторую ссылку) на процедуру, которой должен следовать пользователь, чтобы внедрить такие графики в существующий веб-сайт (например, сайт joomla)?
Ответы
Ответ 1
Очевидно, я считаю, что это слишком многословно для @gd047, но я помещаю своего рода учебник, так как он может быть полезен другим читателям, которые хотят использовать googleVis на своем собственном веб-сайте.
установить googleVis из CRAN
install.packages('googleVis')
обратите внимание на сообщения.
тогда создайте объект gvis:
library(googleVis)
M <- gvisMotionChart(Fruits, "Fruit", "Year")
вы можете найти содержимое M:
> M
и вы можете найти сюжет в своем браузере:
> plot(M)
то, что необходимо для создания диаграммы, является M $html $chart:
> M$html$chart
[1] "<!-- MotionChart ... omitted... \">\n</div>\n"
сохраните его в файле:
> cat(M$html$chart, file="tmp.html")
если вы откроете "tmp.html" в качестве файла (т.е. адрес говорит файлы:///***/tmp.html), тогда может появиться предупреждение о безопасности. Вам нужно получить доступ к html через http://.
Итак, если вы можете редактировать любую веб-страницу, где <script> тег доступен (например, блоггер), вы можете использовать его, просто скопировав и вставив содержимое tmp.html, например:
http://takahashik.blogspot.com/2011/01/googlevis-example.html
вот знаменитая версия "радужки" примера:
http://takahashik.blogspot.com/2011/01/googlevis-example-for-data-iris_10.html
В противном случае, если у вас есть веб-сервер, вы можете использовать его, загрузив tmp.html на сервер.
Ответ 2
Если вы хотите скопировать и вставить диаграмму вручную в CMS (например, сайт Joomla/Wordpress), вы можете сделать это из списка html объектов gvis. Так же, как @kohske предложил:
# demo data from manual
M <- gvisMotionChart(Fruits, "Fruit", "Year")
# write the HTML body to a temporary file without header and footer
cat(M$html$chart, file="temp.html")
# or with caption included:
cat(paste(M$html[c("chart", "caption")], collapse="\n"), file="temp.html")
Затем скопируйте и вставьте содержимое temp.html на свой сайт Joomla. Вы должны обратить внимание на вставку кода как содержимого HTML, а не в редактор WYSIWYG (например, Tiny MCE)!
Если вы хотите показать его на отдельной странице, не забудьте также включить верхний и нижний колонтитулы:
# demo data from manual
M <- gvisMotionChart(Fruits, "Fruit", "Year")
# write the HTML to a temporary file with header and footer all included
cat(paste(M$html, collapse="\n"), file="temp.html")
И наконец: вы можете легко загрузить этот документ, например. ftp-сервер и получить его через любой браузер.
Ответ 3
Содержимое Flash может не работать на локальной машине. Мне пришлось изменить ограничения безопасности на adobe site, чтобы заставить его работать.
Теперь, следуя инструкциям daroczig, можно просмотреть содержимое в локальном браузере и вообще не полагаться на R.rsp.
Ответ 4
Можно также написать следующий код
print(M,"chart", file="myfile")
скопируйте и вставьте html-вывод на свою веб-страницу, а диаграмма googleVis будет работать
Ответ 5
У меня есть script для автоматического запуска обновления данных и размещения диаграммы googleVis на веб-сайте с использованием RCurl и googleVis. Вот пример, где visChart - это диаграмма:
library(RCurl)
library(googleVis)
сделать visChart
write(visChart$html$chart, file='visChart.html')
ftpUpload('visChart.html', "ftp://username:[email protected]/path/to/'visChart.html")
visChart$html$chart
дает только html только для диаграммы с нижним колонтитулом, поэтому я использую iframe в своем HTML для доступа к этой диаграмме. Если вы используете сайт google, блоггер или хотите гаджет Google, вы можете использовать createGoogleGadget():
write(createGoogleGadget(visChart), file='visChart.xml')
ftpUpload('visChart.xml', "ftp://username:[email protected]/path/to/'visChart.xml")