Course Syllabus

Learn how to create beautiful graphics in R. The course covers the theory of visualization, examines what makes a good and a bad graphic, and teaches students how to translate their data into publication quality graphics. Participants should have taken FISH552 Introduction to R Programming, and FISH553 Advanced R Programming, have equivalent R programming experience, or may request permission from the instructor.

Instructor: Trevor A. Branch, FSH322B,

Instructor website:

Class location: MGH 030 (except for final presentations in MGH044)

Lectures: Monday 11:30-1:20pm.

Office hours: after the lecture in class or 2:00-2:50pm in FSH322B

Credits: 2, CR/NC



Week 1: Edward Tufte, the data:ink ratio, introduction to RStudio, recap of R, basic plots in R: plot, barplot, hist, boxplot, pie, image; reading in data from csv files.

Week 2: reading in data; customizing graphics with “par”; bubbleplots; violin plots; empty plots; points, lines, arrows; pairs; overplotting solutions; hexbin; sparklines; abline; cluster plots.

Week 3: NO LECTURE (Martin Luther King Jr. Day), self-study by Marilyn Ostergren on how to use Adobe Illustrator to improve and enhance R graphical output. Self-study here:

Week 4: Combining plots; small multiples; multipanel plots, mfrow, aspect ratio, layout, split.screen.

Week 5: guest lecturer Liz Neeley of COMPASS on how to prepare graphics for the general public and media. Multipanel plots differing in size and location using layout and split.screen.

Week 6: colors; palettes; custom palettes; shading;  transparent colors; symbol types; graphical output types (pdf, gif, eps, tiff, etc.); customizing plots for journals or presentations

Week 7: NO LECTURE (Washington’s Birthday); replaced by self-study on ggplot2 by Sean Anderson.

Week 8: presenting tables; mathematical expressions, subscripts, superscripts; legends; axes labels; text annotations; custom axes; plotting outside plot bounds; reading in complex data.

Week 9: guest lecturer Alan Hicks, on plotting maps and adding figures to maps.

Week 10: presenting draft project figures in class Monday 10 March for small-group peer-review. Hans Rosling, GapMinder; animated gifs and videos.

Week 11: EXAM WEEK 11:30-1:20 Monday 17 March MGH044 (room change) PowerPoint presentation to entire class of your single best figure. Electronic hand in of this PowerPoint figure is due 5pm on 16 March.

**5:00pm Friday 21 March, electronic handin of final four figures in pdf form.



This class is intended to provide useful skills for your research. It is a 2 CR class that is graded pass/fail. I anticipate full participation in lectures and completion of the two self-studies unless you are out in the field, attending a conference, or attending a job application. I will award credit provided you hand in electronically your draft figures, single best figure (and present it in class), and your final four figures.  



Every year the top 1-3 portfolios are awarded a prize by the Dean of the College of the Environment, Lisa Graumlich: free attendance at the next Edward Tufte Visualization seminar:

Jeff Rutter, Quantitative Ecology and Resource Management (QERM), 2011

Cole Monnahan, Quantitative Ecology and Resource Management (QERM), 2011

Peter Lisi, School of Aquatic and Fishery Sciences (SAFS), 2011

Jason Helyer, School of Aquatic and Fishery Sciences (SAFS), 2012

Kiva Oken, Quantitative Ecology and Resource Management (QERM), 2012

Leander Love-Anderegg, Department of Biology, 2014

Michelle Weirathmueller, School of Oceanography, 2014




1. I will hand out hard copies of the pdf handout at the start of each lecture (there is no need to print them out).
2. This course involves a considerable amount of *programming* in R. You should already be familiar with data structures, for loops, creating functions, and basic plotting. I give a basic review in Lecture 1: if this makes you feel completely lost, you will probably struggle in the class too. You might want to consider taking an R course (e.g. FISH 552 and FISH553) first.
3. Since the class size is large and there is no TA, so I will be relying heavily on working in pairs to solve the in-class assignments and to debug code.
4. The class is intended to help students to create publication-quality figures from your graduate work. You will greatly benefit by having one or more datasets available to analyse for the class. If you don't already have a dataset to analyze and plot, I would suggest discussing with your advisor to obtain a dataset.



Plagiarism, cheating, and other misconduct are serious violations of your contract as a student. We expect that you will know and follow the University's policies on cheating and plagiarism. Any suspected cases of academic misconduct will be handled according to University regulations. More information can be found at:

For this course, plagiarism is defined as figures and legends that are identical or eerily similar to those of other students. I encourage working together and asking others for help, but the final project is expected to be your own work.  

Course Summary:

Date Details