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: FSH136 starting week 2 (important change!)

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; 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: 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 (President's Day), 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: Complete draft project figures (all four figures) in class Monday 9 March for small-group peer-review. Hans Rosling, GapMinder; animated gifs and videos.

Week 11: EXAM WEEK 11:30-1:20 Monday 16 March  PowerPoint presentation to entire class of your single best figure. Electronic hand in of this PowerPoint figure is due 5pm on 15 March, to allow time to compile all the presentations into one file for class.

**5:00pm Friday 20 March, electronic handin of final four figures in pdf form, including complete captions for all figures.



This class is intended to provide useful skills for your ongoing research. It is a 2-credit class that is graded pass/fail. I expect full participation in lectures and completion of the Illustrator and ggplot2 self-studies. Credit is awarded when a draft single-best figure has been presented in class, four draft figures have been peer-reviewed, and your four final figures have been handed in electronically.  



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

Ellen Quarles, Medicine Pathology, 2015



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 struggle in the class too, and should consider withdrawing, taking a course in R (e.g. FISH 552 and FISH553) and signing up the following year.
3. The class size is large and there is no TA, so I will rely 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 complex, beautiful, publication-quality figures from your graduate work. Students in their second or later year of graduate school who are preparing papers for publication will benefit most from this class. You need to have one or more datasets available to analyse; if you do not, you should ask your advisor for a suitable dataset for plotting. 



Plagiarism, cheating, and other misconduct are serious violations of your contract as a student. I 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. You should definitely work together and ask others for help, but the final project must be your own work.  

Course Summary:

Date Details