Как добавить вывод диаграммы htmlwidget из DiagrammeR::grViz() на слайд PowerPoint? Я бы предпочел сохранить векторную графику и свести к минимуму ручные прикосновения.
Код в main.R
ниже прекрасно отображает диаграмму DOT как htmlwidget
# ./code/digraph-test.dot
digraph my_plot_name {
A->B->C;
}
# main.R
library(DiagrammeR)
digraph_test <- grViz("./code/digraph-test.dot")
Я хочу добавить этот вывод на слайд PowerPoint. Я адаптировал следующий код из этот пост.
library( ReporteRs )
require( ggplot2 )
mydoc = pptx( )
mydoc = addSlide( mydoc, slide.layout = "Title and Content" )
mydoc = addTitle( mydoc, "Plot examples" )
myplot = grViz("./code/digraph-test.dot")
# myplot = qplot(Sepal.Length, Petal.Length
# , data = iris, color = Species
# , size = Petal.Width, alpha = I(0.7))
mydoc = addPlot( mydoc, function( ) print( myplot ), vector.graphic=TRUE)
writeDoc( mydoc, file = "test plot.pptx" )
Выдает следующую ошибку:
Error in .jcall(slide, "I", "add", dml.object) :
javax.xml.bind.UnmarshalException
- with linked exception:
[org.xml.sax.SAXParseException; lineNumber: 1; columnNumber: 2; The markup in the document preceding the root element must be well-formed.]
Кажется, некоторым людям удалось успешно использовать надстройку LiveWeb для PowerPoint. Я столкнулся с проблемой ActiveX, нашел только хакерские решения и решил не продолжать. Должно быть простое решение, не так ли?