This post is part of a series of guides on how to write your first ACM SIGGRAPH / TOG paper. You can find the other articles here.
In this post we will go over why we make figures, different types of figures, what to put in different figures, how to make them, technically speaking, and finally we will discuss captioning. The number of figures you can afford and their size depends on the page budget of the specific conference/journal you are targeting, so keep it in mind. This document gathers some observations of what I enjoy in papers and have seen appreciated (or more often criticised) by reviewers.
What are figures good for?
Figures should help make a point. As with any communication, making sure the right point comes across is a challenge, so you want the figure to be clear and well presented. They are often the first thing people will look at when opening the paper, if you can convey the story of the paper through the figures and their captions alone (this is not always possible, but it’s a nice target), you make the paper much easier to read, and therefore the communication of your great research more effective.
On the other hand, sloppy figures give off an “amateur
"/ “rushed” vibe and does not inspire confidence to readers, so it’s doubly worth putting in the effort.
Figures are a very good tool to support points you are making in your text and report results. When making a figure to illustrate a specific point, your goal is that any reader understands the example and agrees with your conclusion. Simplify the point as much as possible and use a toy example if needed. A figure should illustrate a single idea. Picking good examples is crucial, for example if you want to illustrate a precise limitation of previous work: pick an example on which this limitation is clear, and do your best to be convincing.
Illustrating a point is also a good way to give it importance. If it looks like something is a crucial detail in the text, adding a figure is a good way to “highlight” this detail and give it more attention, if you think it’s important.
Figures can also be used to report more general information or results. Typical cases are results figures/tables. As before, results in these figures need to communicate information efficiently: pick typical examples which represent well what you want to report (e.g. the results of your method on expected inputs). Make sure the results which make it in the main paper are diverse and, ideally, illustrate different properties of your method (use the supplemental material for presenting a lot of results). Help the reader understand where to look, either via a careful layout (make important things bigger or isolated), or more explicit cues like arrows, bold text, inset zooms, or the caption. If you have a conclusion about the results, discuss it in the caption!
Figures can of course have both an illustrative and reporting function. For example with Fig. 1 we show that directly using previously existing method fails in some context that was important to us. We make sure the point is clear with a toy example, and report how our improvement solves this specific problem. At the scale of the entire method this point would have been very hard to make, but because we specifically illustrate it with a toy example, there is no question that the method behaves as claimed.
What to put in a figure
When making a figure, you need to think of what content you want there. In short: you want just enough to make your all your points as clearly as possible, nothing more. Each figure should illustrate a unique point, if possible.
A few questions can help you make this decision:
- How important is the point you are making and how much space do you need to make the picture clear? Maybe it’s only worth a small half column figure, or maybe the point is complex and needs to be illustrated in a larger full page figure. But in any case, clarity is the most important point.
- Does each component of the figure help make it clearer? If something sounds/looks cool but makes the point harder to get, maybe this example needs to go somewhere else.
- If you just glance at the figure, do you get the point being made? What if you also read the caption? You want to answer yes to at least the second question, and ideally the first (it’s not always possible though).
Results and comparison figures
Results figure and comparison help readers understand what your method is good at and where it doesn’t necessarily improve on previous work. Ideally, you can show results illustrating different properties of the method: be fair and balanced in your choice of examples, by both insisting on the cases that work well to correctly promote your method, while fairly showing meaningful failure cases. For example your method works great for 5 out of 30 examples and terrible for the remaining 25. Picking only the top 5 is not representative of the method’s behaviour and presents an unfair bias towards cases with favorable results, while hiding those that fail. That’s generally called “Cherry-picking”, and this hurts the research community by claiming things that cannot be reproduced/generalized.
That is of course not to say that you should put only your bad results in these figure: you want to communicate how well the method works, while remaining honest about its performance. It is good practice to illustrate the quality of the method with a few diverse examples in the paper, showing the strength of the method, and have more in supplemental materials to help the reader get a good sense of the method’s behaviour. If you have a quantitative analysis, you can report the metric alongside the visual results, to let the reader know roughly how good a result is in comparison to the average behaviour.
Finally, pick visually pleasing/stunning examples if you can, this doesn’t necessarily help to make a specific point, but it has an impact on readers’ perception of the paper.
Different people have different strategies when it comes to making teaser figures, but here is mine.
The teaser is the first figure people will see. The teaser should:
- Help understand what the paper is about. You can have a beautiful explanatory figure (make sure it’s abundantly clear, see this tutorial for example: https://research.siggraph.org/blog/guides/explanatory-paper-figures-with-illustrator-and-blender/), or results of the method in context, or an example of one of the major application of the method.
- Make the reader curious. The goal is not to give an overview of the entire method, but rather to “tease” the reader, encouraging them to read the paper to see how you achieved this.
- Manage expectation. Be careful of cherry picking your absolute best result for the teaser, it may set expectations the paper will not live up to. Make the teaser impressive, but make sure it doesn’t lead to disappointment when reading the paper.
As you put your best foot forward with the teaser, results and comparisons figure to provide good examples of why your method is great, the limitations figure helps you set proper expectation and delimit the scope of your contribution. As it’s easy to cherry pick results, it’s easy to hide behind limitations which do not inform about the failures of the method.
Limitations can be hard to write because they highlight what doesn’t work so well, and you may want to hide a bit so that reviewers don’t reject the paper. This is a difficult balance and the responsibility is shared but don’t hide stuff, be honest and discuss the limitations of the work.
Don’t limit yourself to obvious limitations (“the model we use doesn’t support X, so neither do we”), limitations which are not really your fault (“previous work had this limitations, we don’t improve on that aspect”) or are obviously out of the scope of the paper (straw man limitations “our mesh based geometry editing method doesn’t handle raw pointclouds reconstruction”).
While it is fine to mention any limitation you believe is relevant, not all are worth the space required to illustrate them in a limitation figure. Discussing and illustrating the limitations of your contributions is, in my opinion, by far the most useful information after the method: it gives a clear picture of what is solved, and what is not. This can inspire people to build on your work, increasing its impact.
Keep this in mind when you reach the stage of reviewing! Consider twice before rejecting papers because of an honest limitation section. This is -in my opinion- a strength in a scientific paper rather than something to discourage, hiding limitations is a terrible incentive.
How to make figures
There are as many ways of making figures as there are ways of creating images and tables, but I describe here two that I found to work very well. See the great posts (here and here) on how to create great visualization and explain parts of your method.
Adobe Illustrator – Manually
Illustrator -disclaimer: the author currently works for Adobe- is of course a proprietary software, you can often get a license through your university or lab. Otherwise, Powerpoint or Inkscape also allows you to create nice looking figures. I personally use Illustrator, so I will illustrate my process.
When creating a new figure, I first evaluate if it should be full text width or column width. I then check the dimension of these for the current template I am using. You can often find this information in the default pdf generated by the template, but recent Siggraph information don’t seem to specify this, so you can measure it yourself. Just open your PDF with illustrator and use the measure tool to check the size of a column/ text width:
Given this width, I create a new illustrator document with the right width and an approximate height I want to spend in the paper to make this point (this also help create placeholder figures early on) –you can adjust the height later–, see Fig.7. From now on, don’t touch the width of your artboard: this is the amount of space you have available in width in your figure as defined by the template formatting instruction. Doing this avoid surprises of things getting stretched/compressed when adding it to the paper: it will look exactly the same at the same zoom level.
I then add the images I need, draw arrows or any other required content (the goal of this document is not to propose a tutorial on Illustrator, don’t hesitate to google what you want to do, there is a huge community. Again, check out the great posts (here and here) about how to visually communicate parts of your method).
One thing to be aware of is that Illustrator can either reference external images, or integrate them to the pdf itself. Pick what makes most sense for your need. I tend to like integrating them as it’s easier to share with co-authors if needed.
Other than images, almost everything in Illustrator is vectorial, meaning that it doesn’t have a fixed resolution, but rather will scale with the resolution at which it is viewed. This is useful in making sure your diagrams always look crisp –this is actually true for everything you include in a pdf. Next time you use MATLAB or matplotlib, generate a vector format rather than an image one. So if you can, don’t bake your whole illustrator figure into an image, rather export it as pdf, which preserves the vectorial aspect.
When adding labels I have a rough rule of thumb: size 8pt is a good default size, 7pt for sub-labels, nothing below 6pt (as your image will appear the same in your paper, you can easily check if this is comfortable to read at 100% zoom). A good habit is also to match the font in your figure to the font in your paper: you can install the default latex font (Computer Modern Roman or Latin Modern) in Illustrator.
Finally, once generated to pdf, figures with a lot of images risk being relatively large. With Acrobat Pro (sadly, requires a license), you can go to File/ Save As Other/ Optimized PDF and specify the maximum ppi (I like to use 600 to let people zoom in still) for different types of images, helping to get the size under control, without having to manually resize every image. Once exported, check that you can zoom enough to see what you need before seeing big pixels.
Latex – Automatic
An alternative is to create the figures directly in Latex. There are many different libraries to help you achieve different effects with subfigures or insets for example. But typically I create matrices of images with Latex (like for a results or comparisons figure). Doing this manually is exhausting and error prone. Instead it’s fairly easy to write a small python script that defines which images you want to display and how. This is much easier to maintain, and lets you change in a couple of seconds the images in the paper as you make that careful decision (or when your advisor can’t make up their mind).
I recently discovered PyLaTeX which seems like a good tool to programmatically generate consistent figures, without requiring you to directly write text with python in a .tex file.
Label your figure
Labelling your figure properly is as important as having the right images. A figure needs to be easy to understand, and labels are a great tool for that. For example if you have a matrix of results, you want to make sure that each row and column are clearly labeled for quick parsing. See section above for the choice of font if you are doing the figure manually.
Avoid as much as possible abbreviations and ambiguous labels, you do not want the reader to have to go back and forth between the figure and its caption to understand it. Similarly if you are showing results from a method, it’s nice to have a citation, but a small label with the author’s or method’s name can help tremendously depending on the citation style.
The last component of a figure is its caption. If possible captions should tell the entire story you are trying to convey: point where the reader should look and discuss the conclusions you have in the captions. You want to avoid requiring the reader to go back and forth between the main text and the figure to understand your point, so make the figure self contained, even it means having some of the same conclusions in both the main text and the caption.
Finally, in the main text or in the caption, be careful of the claim you make. Given the evidence provided in text and figures, the reader should agree with the claims of novelty/quality you are making. If you overclaim (for example say that the results are greatly improved, when seeing the difference is difficult) you risk having readers disagree with your conclusion, potentially discrediting part of the contribution. This is of course a fine balance as you also do not want to under-claim either as you want your contribution to be easily parsed.
- Figures should be easy to parse and make their point clear with just the figure or at least with figure + caption.
- Illustrate one idea per figure as much as possible.
- Carefully pick the examples in your figure to illustrate your point (no cherry-picking!).
- Minimize iteration time on figures: automate what is possible and spend a couple hours outside of a deadline familiarizing yourself with tools you prefer.
- Figures and captions should be self-contained, allowing the reader to understand the point and, ideally, the story of the paper.
This post is part of a series of guides on how to write your first ACM SIGGRAPH / TOG paper. You can find the other articles here.
We thank Otman Benchekroun, Yulia Gryaditskaya, Adrien Bousseau and George Drettakis for proofreading.