从R

时间:2015-11-27 14:33:40

标签: r plotly

如何使用代码将Plotly图表作为图像从R导出? (不使用图表上的导出按钮。)

例如,来自Plotly网站的此代码创建此图表:

library(plotly)
set.seed(100)
d <- diamonds[sample(nrow(diamonds), 1000), ]
plot_ly(d, x = carat, y = price, text = paste("Clarity: ", clarity),
        mode = "markers", color = carat, size = carat)

plotly chart

如何将其另存为图像?

官方网站在python中有this material,但我在R中找不到类似的内容。

4 个答案:

答案 0 :(得分:6)

Plotly docs in CRAN我发现了函数plotly_IMAGE

这是一个例子:

set.seed(100)
d <- diamonds[sample(nrow(diamonds), 1000), ]
p <- plot_ly(d, x = carat, y = price, text = paste("Clarity: ", clarity),
        mode = "markers", color = carat, size = carat)

plotly_IMAGE(p, width = 500, height = 500, format = "png", scale = 2,
             out_file = "~/desktop/test.png")

更新

plotly_IMAGE使用Plotly服务器。欢迎本地解决方案。

答案 1 :(得分:5)

export功能,无需连接plotly服务器即可保存图像。您可以在plotly package doc

中找到它
p <- plot_ly(...)
export(p, file = "image.png")

您甚至可以通过选择.pngjpeg.pdf扩展名来更改输出的文件类型。

您还可以将图片保存在html文件中,该文件可让您plotly使用htmlwidgets::saveWidget进行缩放或显示注释的体验:

p <- plot_ly(...)
htmlwidgets::saveWidget(p, file = "image.html")

答案 2 :(得分:1)

根据以下说明,应该可以工作:

1)按照此处所述安装Orca:https://github.com/plotly/orca

2)您可能需要重新启动PC

然后运行以下代码:

有一个导出功能,使您无需连接到绘图服务器即可保存图像。您可以在plotly软件包doc中找到它:

p <- plot_ly(...)
orca(p, file = "image.png")

注意::我发现给出完整路径会引发JavaScript错误。所以我只给了文件名。这些文件将保存在Windows的"C:/Users/user/Documents"中。

答案 3 :(得分:0)

由于我是新手,因此无法发表评论,因此将其作为回复发布。 export函数自plotly v4.9.0起已被弃用。相反,建议使用orca函数将绘图对象导出为静态图像。在此处了解更多信息:orca function R documentation