将googleVis图表嵌入到网站中

时间:2011-01-10 12:24:46

标签: r google-visualization

阅读googleVis软件包vignette“使用googleVis软件包,用户可以使用基于R数据框架的交互式图表轻松创建网页,并通过R.rsp软件包显示它们或在他们自己的网站内。按照说明,我可以使用plot方法查看示例图表,用于gvis对象。默认情况下,此方法使用对象的类型和图表ID信息在googleVis包的rsp / myAnalysis文件夹中创建一个rsp文件,并使用R.rsp包的本地Web服务器显示输出(默认为端口8074) )。

为了将这些图表嵌入到现有网站(例如joomla网站),有人必须遵循的程序可以帮助我(或提供一些链接)吗?

5 个答案:

答案 0 :(得分:27)

显然我觉得这对于@ gd047来说过于冗长,但我提出了一种教程,因为它可能对其他希望在自己的网站上使用googleVis的读者有所帮助。

从CRAN安装googleVis

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”作为文件打开(即地址显示为files:///***/tmp.html),则可能会出现安全警告。您需要的是通过http://。

访问html

因此,如果您可以编辑其中&lt; script&gt;的任何网页标签可用(例如,博客),您只需复制并粘贴tmp.html的内容即可使用它,如下所示:

http://takahashik.blogspot.com/2011/01/googlevis-example.html

这是着名的“虹膜”版本的例子:

http://takahashik.blogspot.com/2011/01/googlevis-example-for-data-iris_10.html

否则,如果您有Web服务器,可以通过上传服务器上的tmp.html来使用它。

答案 1 :(得分:8)

如果您想将图表手动复制并粘贴到CMS(例如Joomla / Wordpress网站),那么您可以从'gvis'对象的html列表中复制并粘贴图表。就像@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服务器,并通过任何浏览器访问它。

答案 2 :(得分:1)

Flash内容可能无法在本地计算机上运行。我必须更改adobe site上的安全限制才能使其正常工作。

现在,按照daroczig的说明,可以在本地浏览器中查看内容,而不是完全依赖R.rsp。

答案 3 :(得分:1)

您也可以编写以下代码

print(M,"chart", file="myfile")

将html输出复制并粘贴到您的网页,然后运行googleVis图表

答案 4 :(得分:0)

我有一个脚本可以自动运行作为数据更新,并使用RCurl和googleVis在网站上放置googleVis图表。以下是visChart是图表的示例:

library(RCurl)
library(googleVis)

制作visChart

write(visChart$html$chart, file='visChart.html')
ftpUpload('visChart.html', "ftp://username:password@example.com/path/to/'visChart.html")

visChart$html$chart只提供了带有页脚的图表的html,然后我在HTML中使用iframe来访问此图表。如果您使用的是谷歌网站,博客或想要谷歌小工具,您可以使用createGoogleGadget():

write(createGoogleGadget(visChart), file='visChart.xml')
ftpUpload('visChart.xml', "ftp://username:password@example.com/path/to/'visChart.xml")