2012-10-08 39 views
12

El paquete rgl R permite trazar figuras 3D interactivas y guardar estas figuras en un documento html (con la función writeWebGL()).incrustación de un gráfico 3D animado R en PowerPoint

Me gustaría poner una figura 3D tan interactiva en una presentación de PowerPoint. Es posible ?

EDIT: Después de estudiar la respuesta de Dieter Menne con la ayuda de Google, mis conclusiones son las siguientes:

    método
  • Actualmente Lucas de Tierney para convertir un gráfico 3D a un archivo U3D y/o una asíntota el archivo solo funciona para los gráficos creados con el paquete misc3d, no el paquete rgl.
  • La exportación de gráficos 3D rgl a archivos VRML/X3D se ha anunciado como un plan futuro. Quizás esto permita insertar un gráfico 3D rgl en una presentación de Powerpoint y/o LaTeX.

EDITAR: related discussion

+1

Haga que un navegador, o incluso R, se ejecute en segundo plano y use Alt-Tab para cambiar entre – James

Respuesta

5

Es posible si la transferencia de la presentación de PowerPoint (o, aún más R-ish, el uso proyector/látex), e incrustar el 3D-trama como se describe en Lucas Tierney Artículo

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

+0

Gracias.Por supuesto, prefiero la representación de LaTeX, pero realmente necesito hacer la presentación con PowerPoint. ¿Qué quiere decir con "transferir la presentación de Powerpoint"? –

+0

Exportar la presentación PP como pdf. –

+0

¿Cómo? Con PDFcreator? –

4

Si pones esto en un documento HTML, es probable que pueda utilizar el objeto IWebBrowser2 para abrir el HTML dentro de una diapositiva. No estoy seguro de cómo se representaría un gráfico en 3D, y no estoy familiarizado con R o no podría ofrecer ningún otro consejo, pero puede comenzar simplemente tratando de crear un objeto WebBrowser dentro de su diapositiva, y luego dígale que lo haga. Navega al archivo HTML.

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 

El control de este flujo durante el modo de presentación de diapositivas puede ser un poco más difícil, pero es factible, siempre y cuando el gráfico se muestra correctamente a través de IE como este.

Cómo instalar esta macro

  1. abrir la presentación de PowerPoint y haga clic en Alt + F11 para abrir el proyecto de Visual Basic.
  2. Haga clic derecho en el proyecto en el panel izquierdo, e Insertar Módulo:

enter image description here

  1. Pegue el código de mi respuesta a este módulo.
  2. En la línea que dice wb.Navigate "C:\..." modifíquelo en la ruta de archivo correcta para su archivo HTML. Puede estar en su computadora o en una carpeta de red compartida, etc.

El navegador debe ser capaz de mostrar páginas HTML cuando está en modo SlideShow, pero no las renderizará en el modo normal o de vista previa.

+0

Gracias por su contribución. No voto porque soy ignorante sobre html y luego no entiendo ninguna palabra :) –

+0

@ StéphaneLaurent esto no es HTML per se, pero es una macro que podría insertar el HTML en su diapositiva de PowerPoint. Voy a actualizar con más detalles sobre cómo agregar esta macro a su presentación, y luego podemos ver si funciona para usted. –

Cuestiones relacionadas