2017-05-31 67 views
0

我已經開發了一個使用R和庫光澤的儀表板,其中顯示了一些不同的圖表。這些不是靜態圖表,但它們是根據某些可通過某些bottons設置的過濾器等動態生成的。當試圖在PowerPoint模板上添加一個繪圖時,R會崩潰

下一步,我現在的工作就是創建一個包含我以前生成的圖表的PowerPoint報告。我這一段代碼至今:

report <- pptx(template = 'report_template.pptx') 
report <- addSlide(report,"report_layout") 
slide.layouts(report) 
slide.layouts(report, "report_layout") 
report <- addPlot(report, function() print(p)) 
writeDoc(report, "example_report.pptx") 

作爲由plotly這種方式創建的PA定圖表:

p <- plot_ly(agregado_cedex(), labels = ~Escalado, values = ~Total,type = "pie", 
      text = ~Total, width = 500, height = 250, hoverinfo = "none") %>% config(displayModeBar = FALSE) %>% 
layout(title = "Desglose incidencias", showlegend = TRUE, 
     xaxis = list(showgrid = FALSE, zeroline = FALSE, showticklabels = FALSE), 
     yaxis = list(showgrid = FALSE, zeroline = FALSE, showticklabels = FALSE)) 

沒有與此表沒有問題,因爲它是正確的有光澤的應用中顯示(儀表板)。

當執行上面的代碼,我得到R上Studio中的一個錯誤:

Warning: Error in .jcall: javax.xml.bind.UnmarshalException 
- with linked exception: 
[org.xml.sax.SAXParseException: The markup in the document preceding the root element must be well-formed.] 

我發現了一些類似的職位,但尚未到目前爲止解決Add plots in PPTx without crashing R using addplot()

有誰知道是錯的?提前致謝!

回答

0

ReporteRs不支持htmlwidgets。 addPlot使用基本繪圖命令,ggplot2,網格和格子。

+0

謝謝@David Gohel。這是否意味着'ReporteRs'不能用'plotly'圖表工作?然而,它應該與'ggplot2'一起工作,對吧?另一件事,我使用正確的sintax函數'addPlot'?因爲我已經看到了一些文檔,在這裏使用它:'report < - addPlot(report,function(print),x = p)'或者類似的東西 –

+0

@LuisCano plotly charts是htmlwidgets,而不是圖形設備(arg,它是複雜...)。是的 –

+0

好吧,我現在明白了......但是,我也嘗試了一些ggplot2圖表,我無法使它工作。該圖表的代碼如下所示:'p7 < - ggplot2(裏面有些東西)'。此圖表位於「渲染圖」功能中,並正確顯示在我的閃亮應用程序中。然後我嘗試將它添加到PPTX文件中:'report < - addPlot(report,function()print(p7))''。我得到這個錯誤'警告:錯誤在打印:對象'P7'找不到'。我不是R的專家,你可以看到......你知道什麼可能是錯的@DavidGohel? –

相關問題