ggplot图像到Plot.ly

Plot.ly 可以将ggplot的图像转换成plot.ly的图片,虽然还有很多bug和不太保留原样的地方,不过总体来讲可以动态的展示图像还是很好的选择。上面那个用ggplot画的对比spline函数不同插值方法的图像,在Plot.ly上可以实时的显示不同的插值方法的值,比之前ggplot的图像还是具有很大的优势。在ggplot中绘制得到的图像如下所示:

现在遇到的比较严重的bug是曲线和文本的大小,比如这个由文字组成的图像就无法正常的显示:

当然,你可以到Plot.ly网站上逐一修改,那实在就失去了Plot.ly的意义了。

这个图像的绘制很简单,你基本只需要固定的使用这样的代码就能完成:

首先需要初始化(只需要做一次):

install.packages("devtools")
library("devtools")
devtools::install_github("ropensci/plotly")

如果需要更新plotly,就不需要在装一次devtools了。下面这两行即可:

library("devtools")
devtools::install_github("ropensci/plotly")

安装完之后,使用下面语句建立你和plot.ly的认证关系,这个key注册后可以在用户界面查询到。

library(plotly)
set_credentials_file("username", "key") # 注册后会分配一个给你,拷贝过来就行

下面就是绘图代码了:

p <- ggplot(...) # 这里是你的绘图代码

py <- plotly()
py$ggplotly(p) # p也可以省略,会自动调用lastplot

如果不想在图像生成后打开浏览器,可以将最后一句改为

response <- py$ggplotly()

这样的话,你的图像在这个链接:

response$url

是不是很简单啊?赶快将自己的图像也上传到plot.ly吧!

亲,给点评论吧!