Preparation
of Flow Cytometry Figures Using FlowJo and Canvas
Part 1 (FlowJo) | Part
2 (Canvas) | Part 3 (PowerPoint)
This is a tutorial in three parts. This is the first one, and covers
advanced uses of the FlowJo layout editor as the first step in
preparing a publication/presentation quality figure incorporating
a "batch"
layout presenting the data from a number of samples. The second
page covers subsequent "touch-up" of this figure using
Canvas.
Table of Contents
Introduction
Batch analysis of multiple flow cytometry files (FCS files) can
be accomplished with some extremely powerful routines in FlowJo.
Over the years, the layout capabilities of FlowJo have also increased,
but preparation of publication or presentation quality figures
usually requires "touching up" FlowJo output in a dedicated
graphics program. Many users will perform this in Microsoft PowerPoint,
and
recent
versions of FlowJo do a much improved job of exporting data to
PowerPoint. Still, I find that Canvas provides much better control
and in the
end is much faster for producing quality final output of flow cytometry
figures. This page describes how this is done, using as an example,
a data set in which intracellular cytokine staining is performed
with a number of peptide pools on samples from four rhesus macaques
vaccinated with vectors expressing SIV gag. This
page assumes basic familiarity with FlowJo, including elementary
use of its Layout Editor. More details can be found on the FlowJo
website, especially in its excellent tutorials section.
The goal of this page is to teach you to prepare a figure that looks
like this:

The virtues of this figure are:
- extraneous white space has
been removed, permitting data to be displayed at a larger scale;
- the flow axes are labeled only once, eliminating unnecessary
duplication of labels, and reducing the effort needed to interpret
the data
- the stimulation conditions are cleanly and succinctly
labeled at the top of the figure
- the monkeys are cleanly
labeled at the right hand side.
I could have (should have?) added
a line at the top indicating that the labels at the top were
indeed "stimulation conditions" and a label at the right
hand side indicating that the labels refer to individual monkeys,
but after trying this
out, I decided that this added unnecessary additional clutter
to the figure.
The most efficient method of preparation of this figure involves
manipulations in both FlowJo and in Canvas. You should do as much
as you can in FlowJo, which will dramatically siimplify what is left
to do in Canvas.
Here we go....
Preparing sample groups in FlowJo
I have prepared a sample group in FlowJo that has a total of 36
samples, with 9 samples from each of 4 monkeys. The data was collected
by Megan McCausland in the laboratory of Dr. Guido Silvestri. One
sample was unstimulated, six samples were stimulated with distinct
gag peptide
pools,
one
sample
was stimulated with a "blank" MVA vector, and one sample
was stimulated with SEB.
I have deliberately prepared a FlowJo group containing all of the samples from
each of the monkeys, because I am going to have FlowJo generate a
layout containing all of the plots from all of the monkeys.
Gates were set on the samples in the following fashion: (1) a
lymphocyte gate was set on FSC vs SSC; (2) cells within the lymphocyte
gate were then plotted as CD3 vs. IFNg, and a non-rectangular gate
was set on the CD3+ cells that included the CD3dim, IFNg+ cells (note
that CD3 becomes downregulated on responders during the ICC stimulation
period). Finally, I plot CD8 vs IFNg on the CD3+ lymphocytes.
These gates were then applied to every sample in the group, which
were individually checked.
Formatting of the first plot in the layout
editor
Open FlowJo's Layout Editor and drag the CD3+ population from any
of the samples into a new Layout. Double click on the plot to open
the "Layout Item Definition" dialog box, which looks like the following:

At this point, I already know that I want to do a number of things
to every plot I'll create in the batch layout:
- I want the output to use "Contour Plots with Outliers", which
is better for print publications.
- I want to strip out the "annotation
box", or
legend, beneath the plot.
- I want to strip out the axis labels. In Canvas, I'll replace
these with only two labels.
- I want to strip out the numbers
on each
axis. They are relative anyway, and don't add much to the figure.
At
this
point, I'll leave
the tick
marks, but later on I'll take some of these out. The following
figure guides you through how to do steps 1-4.

Here are the steps, corresponding to the red circles above:
- Change the "Graph Type" to "Contour Plot"
- Check the option to "Show Outliers"
- Click the "Annotate" button to switch to the "B" version of the
dialog box
- Deselect the "Show Annotation" check box
- Check the boxes to "Hide Numbers" and "Hide Label" for both the
X and Y Axes.
The result looks like this (but without the red circle):

Generating the Batch Layout
Now, we're ready to generate the rest of the plots. Hit the "Batch" button,
circled in red above. This brings up a new dialog box, which looks
like this:

You can rename the layout if you wish, but I've left it as the FlowJo-generated
default, "CD8 vs IFNg-Batch", which is derived from the
name of the underlying layout. I've selected the "New Layout" radio
button. Finally, I have to make some choices about the "Geometry" of
the layout, as indicated in the red circle. In this case, I've chosen
9 Columns
(one for each of the stimulation conditions), and I've ordered the
tiles (plots) "Across". This will automatically generate
4 rows, given that there are 36 samples in the group. Alternatively,
I could
have placed the tiles in 9 rows, ordering them "Down" instead
of across, which would have given me a "Portrait" orientation
instead of the "Landscape" orientation. The choice depends
upon how the final plot will be used. My final result looks like
this:

Massaging the Batch Layout
There are three things left to do in FlowJo before we move to Canvas:
- Strip the tick marks on the x-axes for all plots in rows 1-3,
but not 4.
- Strip the tick marks on the y-axes for all plots in columns 2-9,
but not 1.
- Increase the size of the font for the statistics. Believe me,
it's much better to do this now. If you attempt to do it in Canvas,
things turn messy and you make a lot of work for yourself.
Here's how we do all of this.
Strip the tick marks from the x-axes
- Drag-select all of the plots in rows 1-3. Make sure that you
have not selected the plots in row 4.
- Select the "Get Info..." command from the Layout menu.
This gives a dialog box that looks like this (the red circle was
added for step 3 below):

- Check the box marked Hide: Ticks X (circled in red above)
- Click on "OK" to close the dialog box. The figure now looks like:

Strip the tick marks from the y-axes
- Unzoom the layout box so that you can see all of the plots. To
do this, click on the "small mountain" icon in the lower
right hand corner of the layout window, or select the appropriate "zoom"
percentage from the pull down menu next to the "zoom" mountain.
You can also change the shape of the layout window by dragging
on the box in the lowermost right hand corner of the window.
- Drag-select the plots in columns 2-9, leaving the plots in column
1 unselected.
- Select the "Get Info..." command from the layout menu.
The dialog box will look like this (again, without the red circle):

- Check the "Hide: Ticks" box for the y-axis, and then clik "OK"
to exit the dialog box.
Increase the font size for the statistics on the plots
Now, we'll increase the size of the font for the population frequencies
displayed on each plot. In some sense, this is an iterative process
and involves some guesswork to determine if the font size is large
enough. It might seem as if it's better to do this in Canvas than
here, but it's not. If you try to increase the font sizes in Canvas,
the text will become larger than the box that encloses it, and all
of the text will become "wrapped", and you must "unwrap"
each one individually.
Here we go....
- Select the "Preferences..." command from the "FlowJo" menu (located
just to the right of the "Apple Menu" at the upper left hand corner
of the screen.
- Select the "Text' button, to display the dialog box as below
(without the red circles).

- Click on the "Stats drawn on graphs" radio button (step 1 in
the figure above).
- Choose your desired font from the pull down menu (step 2 in the
figure above). I almost always prefer "Arial" for
all of my figures (this is a compromise with the Windows world).
- Choose your font size from the "Size" pull down menu (step 3
in the figure above). For this many plots, the best choice turns
out to be either 24 or 36
(FlowJo
v4.5 does
not
allow
you
to choose
sizes between these).
- Click the "Save" button to exit the dialog box. FlowJo
will take a few seconds to redraw the figure with the updated plots.
If the
font size does not seem appropriate to you, repeat the above, and
change the font size accordingly.
Here's what a portion of the final layout looks like.

We've accomplished quite a lot from within FlowJo. The best thing
is that when we now move to Canvas, we'll never have to "Ungroup"
and "Regroup" any of the plots in order to selectively
delete something carried over from FlowJo. This saves an enormous
amount of time, frustration, and
sheer agony.
Export the Layout Graphic from FlowJo
There are at least three options for exporting the resulting graphic
from FlowJo and importing it into Canvas.
- Copy the layout to the Clipboard and paste it into an open, blank
Canvas document. When I did this in Canvas
9, I could not ungroup the plots, though I could if I pasted into
Canvas 8; I suspect
there is a bug somewhere, but for now, I won't use this option
when using Canvas 9.
- Save the layout to a PICT file, and open it from within Canvas.
- Save the layout to a PICT file and instruct FlowJo to open it
from Canvas. This is settable option from within the FlowJo "Layouts/Tables"
Preferences tab.
With the caveat for the problem noted in option 1 above, they are
probably all equivalent, although I'm not sure. All are available
as small
buttons
at the
upper right of the Layout window, between the "Name" field
and the batch button (there is also an obvious print button).
For the purposes of this tutorial, I'll use option 3 (open file
with application), but you might prefer one of the other options.
Go to Part 2
|