embedding a R animated 3D plot in PowerPoint

后端 未结 2 459
萌比男神i
萌比男神i 2021-02-07 23:48

The rgl R package allows to plot interactive 3D figures and to save these figures in a html document (with the writeWebGL() function).

I would

相关标签:
2条回答
  • 2021-02-08 00:30

    It is possible if you transfer the Powerpoint presentation (or, even more R-ish, use beamer/latex), and embed the 3D-plot as described in Luke Tierney's article

    http://homepage.stat.uiowa.edu/~luke/R/misc3d/misc3d-pdf/misc3d-pdf.pdf

    0 讨论(0)
  • 2021-02-08 00:42

    If you put this in to an HTML document, you can probably use the IWebBrowser2 object to open the HTML inside a Slide. I am not sure how a 3d graphic would render, and I'mnot familiar with R or would not be able to offer any further advice, but you might start by trying to simply create a WebBrowser object inside your slide, and then tell it to Navigate to the HTML file.

    Sub InsertHTMLFrame()
    Dim sld as Slide
    Dim shp as Shape
    Dim wb as Object
    Set sld = ActivePresentation.Slides(1) '## Modify as needed
    
    '## Create the shape container, you will need to modify the L/T/W/H to fit your document
    Set shp = sld.Shapes.AddOLEObject(100, 200, 200, 150, _
        "Shell.Explorer.2")
    shp.Name = "3dgraphic"
    Set wb = shp.OLEFormat.Object
    
    wb.Navigate "C:\Users\you\Desktop\exported3dgraphic.html"
    End Sub
    

    Controlling this flow during SlideShow mode may be a little trickier, but it's doable, provided the graphic renders properly through IE like this.

    How to Install This Macro

    1. Open your PowerPoint Presentation, and click Alt+F11 to bring up the Visual Basic project.
    2. Right-click the project in the left pane, and Insert Module:

    enter image description here

    1. Paste the code from my answer in to this module.
    2. In the line that says wb.Navigate "C:\..." modify this to the correct file path for your HTML file. This can be on your computer or in a shared network folder, etc.

    The browser should be able to display HTML pages when in SlideShow mode, but will not render them in the normal or preview mode.

    0 讨论(0)
提交回复
热议问题