Webshot一张R闪亮整页的情节图,或者没有空格

时间:2018-04-13 12:52:02

标签: r pdf shiny plotly export-to-pdf

如何将绘图保存为pdf而没有大量的空白边距,无论如何都是整页尺寸?

我试图在下面修改我的代码,但我无法让它按需要运行。 我考虑添加一个选择器参数,但无论我使用什么目标对象,都会抛出错误,可能是因为这段代码实际上是在打开temp.html文件?

使用这个替代方案:

 export(values$p, file = 'exportplot.pdf')

还会在剧情周围创造巨大的白色空间。

我花了几个小时玩剧情和导出代码的大小参数,但这似乎只是搞乱了绘图大小和绘图字体大小之间的比例。

我目前的解决方案有效,但不是100%使用webshot

我现在拥有的这个虚拟应用程序可以保存PDF格式的图表!伟大,惊人的质量,因为图像是一个矢量。 但是,我最终在pdfs中有很多空白区域和第二个空白页面 通过添加zoom = 0.6进行一些调整可以解决这个问题,但我觉得有一个更好的解决方案。

ui <- fluidPage(

    mainPanel(
     plotlyOutput('prlotly'),
     actionButton(inputId = 'Saveplot', label = icon('floppy-o'), style = "height:40px; width:40px; border-radius: 6px; border-width:3px; border-color:#339fff; 
              color: #339fff; background-color:#fff; font-size:1.4em; padding:0px")
    )
  )

server <- function(input, output, session) {
  values <- reactiveValues()
  output$prlotly <- renderPlotly({ p <- plot_ly(data = mtcars, x = ~cyl, y = ~mpg, type = 'scatter', mode = 'markers')
    values$p <- p
})


 observeEvent(input$Saveplot, {
   if (!require("webshot")) install.packages("webshot")
   saveWidget(as_widget(values$p), "temp.html")
     webshot("temp.html", file = "widgettoplot10.pdf", zoom = 0.6)
  }, ignoreInit = T)
 }

shinyApp(ui = ui, server = server)

0 个答案:

没有答案