Alyshia Olsen

AO

Visual Best Practices for Academic Figures

Heuristics to get your figure from basic layout to a final design.

This article is a followup to From Data to Figure, a case study intended to get you from raw data to a figure design that works well with your paper. If you haven’t read it yet, start there!

Once you have a layout that is feeling good, you can move on to evaluating your visual decisions in more detail.

This is never a linear process for me. Sometimes I even go back and adjust the figure layout itself if I find something isn’t quite landing - so use the practices below as they make sense for you.

Use Color Thoughtfully

Color is a great tool to draw your readers’ attention to certain parts of your graph.

People who have studied color much more than I do have written many articles about how to use color most effectively in data visualization. I’ve linked to some more resources at the bottom of this article, but this is the framework I’ve settled on that encapsulates about 80% of what I’ve learned about color and translating it into great figures.

Get it Right in Black and White - adding color sparingly!

When color is overused, the reader doesn’t know where to look, and misses the point you’re trying to get across.

Pulling your figure back to greyscale and adding color back when necessary will:

In this paper about DNA storage, the authors’ goal was to make it clear how their algorithm performed differently than one other algorithm with different thresholds.

A line chart from a DNA storage paper where the authors' algorithm is drawn in blue and the comparison algorithm's thresholds are drawn in shades of grey

Here, the authors decided to show their algorithm in a blue hue. Because the rest of the graphs weren’t the point, they were left in greyscale. Image credit: Rashtchian et al., Clustering Billions of Reads for DNA Data Storage (NeurIPS 2017)

This way, the blue draws the reader’s attention immediately to the relevant data. The reader does not have to search for it or read the key to know what information is most important.

Two side-by-side line charts from the same paper showing the authors' algorithm in different scenarios, drawn entirely in blue

Blue is “our algorithm” throughout the paper, and grey is “other algorithms”. Image credit: Rashtchian et al., Clustering Billions of Reads for DNA Data Storage (NeurIPS 2017)

When the authors wanted to show how their algorithm performed in different scenarios, they used signature blue for the entirety of the data. This made it visually clear when their algorithm is being compared to others, and when we are comparing their algorithm in different settings, as shown above.

Note that while these graphs look great in color, they do not fully pass the black and white test when printed in greyscale - shown to the right. If I could redo these, I’d use a secondary visual distinction on the other algorithms (like texture), or choose a different set of greys so the blue color stood out more in the greyscale palette.

The accuracy comparison chart from the DNA storage paper rendered in greyscale, where the authors' algorithm is hard to distinguish from the others

Image credit: Rashtchian et al., Clustering Billions of Reads for DNA Data Storage (NeurIPS 2017)

Choose a Data-Friendly Color Palette

Once you’re confident about where you want to use color, I recommend using a color palette designed for data visualization. My favorites are:

The Tableau 10 (and 20) Palettes

These palettes were designed by Maureen Stone almost 10 years ago, and are widely used among data analysts. It’s also pretty easy to find github packages (like this one by Jeffrey B. Arnold for R) that make them reference-able in whatever tool or language you’re using.

The ten colors of the Tableau 10 palette shown as swatches with hex codes

The Tableau 10 colors (Credit: Tableau)

The Observable 10 Palette

This palette was created by Jeff Pettiross, previous director of design at Tableau. It’s a thoughtful adjustment to the Tableau color palette and gives a different feel while remaining accessible.

The ten colors of the Observable 10 palette shown as swatches

The Observable 10 colors (Credit: Jeff Pettiross)

The Observable 10 palette plotted against black and white backgrounds in the CIELAB color space

Observable’s palette mapped on black and white backgrounds in the CIELAB color space (Credit: Jeff Pettiross)

These are both legible in greyscale, which means the default colors from the palette are discernible for anyone with color blindness.

Creating your own Palette

If you want to create your own palette, I recommend reading the blog posts from Maureen and Jeff above. I also recommend starting in the OKLCH color space since it controls for luminosity across hues in a way that’s more sophisticated than HCL.

Use Color Intentionally and Consistently

When you have a color in your paper, make sure it’s used consistently throughout the whole paper. In data visualization, color is often assigned to a meaning. It’s not just an accent color. So if you use a color to refer to a particular model, outcome, or test set, use color consistently throughout the paper as much as possible.

Another usability trick is using color as people expect. Use yellow for bananas and red for strawberry! Flipping those or using random colors means users are fighting against the meaning they already have for those colors - which leads to a harder time reading the graph.

The StoryScope paper published at COLM in 2026 uses color thoughtfully AND it uses bright bold colors for models, and a more subdued brown for “human”, which makes humans easy to differentiate... and each model easy to follow.

A figure from the StoryScope paper with each model in a bright color and human results in a subdued brown
A second figure from the StoryScope paper using the same color assignments for models and humans

Image credit: Russell et al., StoryScope: Investigating Idiosyncrasies in AI Fiction (2026)

Remove Unnecessary Detail

It’s easy to go with the default created chart in whatever software you are using, but remember: every element in your figure should have a reason to be there.

So ask “What is distracting from the point I am trying to make?

In the above example, there is too much detail in the grid and axis markers. The highlighted maxima the authors want to call out is getting lost against the background grid. Removing that grid and adding a small dot at the intersecting maxima would make the point jump out.

For your graph, think about how you’re showing axes, axis labels, data labels, and whether or not you need a key inside the graph area (which works above because it does not occlude any data!).

If anything is redundant, self explanatory, or too detailed, think about how you can simplify it.

Note: You have done the research and you’re going to have so much more data you want to show than makes sense for the story in your paper. Add these more complex figures to the appendix!

Get a Second Opinion

As I called out in the Part 1 case study, every figure needs to communicate one or two clear ideas. Once you know this, you can evaluate all your future ideas based on your goals.

If you have friends or colleagues who are familiar with your area of research but haven’t been involved in the figure creation, ask them what they see when they look at the figure.

This doesn’t have to be a big deal. Just send someone a screenshot over text and say “hey - I’m making a figure about insert high level description - can I get your feedback?”

A text message exchange asking a friend for feedback on a draft figure

This type of casual “user research” on your figures gets you so much farther than thinking deeper and harder about them ever will. Collaboration for the win!

Importantly - don’t lead the witness! Just listen to what they think they’re seeing and ask them why. Once you have understood their perspective, you can tell them what you thought the chart showed, and iterate on wherever the disconnect was to make things clearer!

If you don’t have anyone to ask, that’s ok!

Clear your mind. Take a break from the figure work, and come back to it with fresh eyes.

Look at what you see. Be critical! Ask yourself where someone else might get confused and think about how to address it.

The important thing here is to try to do it. Getting too deep and trying to get to perfection will lead you down a rabbit hole of self doubt and endless iteration. Try to find one thing you want to fix. Every time you make figures, you’ll keep improving!

More Resources

Color Best Practices by Maureen Stone, Color Researcher at Tableau and Salesforce

Creating Great Charts in Python by Guillaume Weingertner, Data Analyst

Storytelling with Data by Elizabeth Ricks, Professor at Wake Forest University

Academic Publication on Data Pitfalls in other Academic Publications by Vinh T. Nguyen, Kwangee Jung, and Vibhuti Gupta

Final Thoughts

If you’ve read all this and are still feeling super stuck, I love helping people think through their figures asynchronously. Find me on LinkedIn and we can chat!

Now, go visualize that data!


✍ This article was written and refined by hand, with help from AI in finding and fixing typos and grammatical errors❣️

Alyshia Olsen has spent her career in HCI helping communicate complex concepts via visual and experience design, including at Tableau, Microsoft, Plotly, and Intel. She runs an independent consulting practice called Forma Libera.