8 PowerPoint Import
8.1 Introduction
One of the most common ways to ruin a perfectly good R plot is to copy-paste it into PowerPoint. This creates low-resolution bitmaps that look terrible when projected. This chapter teaches you the proper workflow for inserting high-quality plots into presentations.
Learning Objectives
By the end of this chapter, you will:
- Understand why copy-paste creates low-quality plots
- Know the correct workflow: save first, insert second
- Learn optimal formats for PowerPoint (PNG at 150 DPI, SVG)
- Be able to ungroup SVG elements for editing in PowerPoint
- Understand the trade-offs between PNG and SVG for presentations
8.2 The Copy-Paste Problem
What happens when you copy from RStudio:
- Pastes as low-resolution bitmap
- Looks OK on screen (72 DPI)
- Terrible when projected
- Pixelated and blurry
- Doesn’t scale well
- The “Copy Plot to Clipboard” → “Copy as Metafile” corrupts plot symbols. Save as SVG instead.
8.3 The Solution: Save First, Insert Second
Never copy-paste!
Instead:
- Save plot as file
- Insert file into PowerPoint
- Maintain quality
8.4 Vector Formats for PowerPoint
Three options:
SVG: Good support in modern PowerPoint → Use this!
- Editable after import
- Preserves vector format
- Exports as SVG/PDF maintain vector quality
EMF: Windows only, obsolete and of no benefit in newer PowerPoint. Requires
devEMFPDF: Very poorly supported! Low resolution import (rasterized!) and no editing
PNG: If you must use raster, then 300+ DPI
8.5 SVG Editing in PowerPoint
Modern PowerPoint supports SVG editing:
- Insert SVG file into PowerPoint
- Right-click → Ungroup (or Convert to Shape)
- Individual elements become editable
- Modify colors, text, positions
- Compose multi-panel figures
- Export as SVG/PDF to preserve vector format
PowerPoint can be your figure composition tool!
Be careful when ungrouping:
- Complex SVGs may lose gradients, patterns, or effects
- Some plot elements might break apart unexpectedly
- Text rendering may change
- Clipping paths may be lost
Recommendation:
- Keep a backup copy before ungrouping
- Test with your specific plots first
- For complex figures, consider Inkscape instead if editing is needed.
8.6 Summary
Never copy-paste from RStudio - creates low-resolution bitmaps
Workflow: Save → Insert
ggsave("plot.png", p, width = 10, height = 6, dpi = 150)Then Insert > Pictures in PowerPoint
Format recommendations for presentations:
- PNG at 150 DPI - good quality, reasonable file size
- SVG - perfect quality, editable, but larger PowerPoint file
- Never JPEG - lossy compression
SVG in PowerPoint:
- Can be ungrouped and edited
- Text becomes editable
- Colors/shapes can be changed
- Warning: complex plots may break when ungrouped
Sizing:
- Create plots at ~10 inches width for full-screen slides
- 6-8 inches for half-screen
- Match slide aspect ratio (16:9 typically)
Quality hierarchy: SVG > PNG 150+ DPI > PNG 72 DPI > copy-paste
8.7 Exercises
Create a plot and save two versions:
p <- ggplot(mtcars, aes(mpg, hp, color = factor(cyl))) + geom_point(size = 3) ggsave("plot.png", p, width = 10, height = 6, dpi = 150) ggsave("plot.svg", p, width = 10, height = 6)Insert both into PowerPoint and compare quality
Try ungrouping the SVG (Right-click > Group > Ungroup)
Change the color of one element in the ungrouped SVG
Compare file sizes: copy-paste vs PNG vs SVG versions
8.8 Further Reading
- PowerPoint graphics best practices - Microsoft guide
- SVG in PowerPoint - editing capabilities
- Presentation design principles - minimalism in slides