In yesterday's post, I looked at advantages and disadvantages of various image formats. Some chat ensued in the comments and on Twitter about making drawings and figures and such. I realized I hadn't been very clear: when I say 'image', I really mean 'raster' or 'bitmap'. That is, a discretized (pixel-based) grid of data.
What are vector graphics?
What I was not writing about was drawings and graphics combining text, lines, and images. Such files usually contain vector graphics. Vector graphics do not contain descriptions of pixels, but instead they contain descriptions and positions of text, paths, and polygons. Example file formats are:
- SVG — Scalable Vector Graphics, an open format and web standard
- AI — a proprietary format used by Adobe Illustrator
- CDR — CorelDRAW's proprietary format
- PPT — pictures in Microsoft PowerPoint are vector format
- SHP — shapefiles are a (mostly) generic vector format for GIS
One of the most important properties of vector graphics is that you can rescale it without worrying about changing the resolution — as in the example (right).
What are composite formats?
Vector and raster graphics can be combined in all sorts of ways, and vector files can contain raster images. They can therefore be used for very large displays like posters. But vector files are subject to interpretation by different software, may be proprietary, and have complex features like guides and layers that you may not want to expose to someone else. So when you publish or share your work it's often a good idea to export to either a high-res PNG, or a composite page description format:
- PDF — Portable Document Format, the closest thing to an open, ubiquitous format; stable and predictable.
- EPS — Encapsulated PostScript; the precursor to PDF, it's rarely called for today, unless PDF is giving you problems.
- PS — PostScript is a programming and page description language underlying EPS and PDF; avoid it.
- CGM — Computer Graphics Metafiles are best left alone. If you are stuck with them, complain loudly.
What software do I need?
Any time you want to add text, or annotation, or anything else to a raster, or you wish to create a drawing from scratch, vector formats are the way to go. There are several tools for creating such graphics:
- Adobe Illustrator — the top banana, but pricey
- Inkscape — free and open source (our favourite)
- ACD Canvas
Judging by figures I see submitted to journals, some people use Microsoft PowerPoint for creating vector graphics. For a simple figure, this may be fine, but for anything complex — curved or wavy lines, complicated filled objects, image effects, pattern fills — it is hard work. And the drawing tools listed above have some great advantages over PowerPoint — layers, tracing, guides, proper typography, and a hundred other things.
Plus, and perhaps I'm just being a snob here, figures created in PowerPoint make it look like you just don't care. Do yourself a favour: take half a day to teach yourself to use Inkscape, and make beautiful figures for the rest of your career.
I just came across another nasty metafile format: Windows Metafile, and its dimwit sidekick, the Enhanced Windows Metafile. Watch out for wmf and emf file extensions. If your software spits them out at you, ask the developers if they wouldn't mind switching to something else — PDF or SVG would be nice.