How to Make Scientific Figures: Comparisons Guide

Compare tools like TikZ, matplotlib, Illustrator, Vexlio and more for publication-quality graphics

In This Guide

  • Comparison of major tools
  • Considerations to look out for
  • Important features vs. what you can skip
  • Answers to common questions

Vexlio Spotlight

  • Precision diagramming with an intuitive UI
  • Built-in LaTeX support
  • Smart snapping & alignment tools

Introduction

A well-crafted figure can do a lot of heavy lifting in your publication. There are many tools and techniques to choose from to create your figures, suiting different workflow styles, reproducibility needs, etc.

Some authors prefer to generate figures in code with, for example, TikZ or matplotlib to get exactly the look they want. Others open Adobe Illustrator, Vexlio, or Inkscape, preferring to tweak shapes and fonts by hand.

In this guide, we'll walk through the major tools and workflows available for diagramming, including programmatic libraries, vector editors, and hybrid approaches, and some of the tradeoffs they make. By the end, you'll have a clearer sense of which workflow fits your project and style. Let's dive in.

What Makes a Great Scientific Figure?

Well, the short answer is: quite a lot. In many research groups, a discussion of what should go into "Figure 1" is an involved and important step in preparing the manuscript. To simplify a bit, here are a few principles to keep in mind before you open up any tool:

  • Clarity & readability. Every graphical element should serve a purpose. Reduce clutter and keep enough white space so nothing gets lost when scaled down to publication size.
  • Consistency with your manuscript. Match fonts, line weights, and color schemes to the rest of your paper. When your figure feels like part of the same story, it helps readers switch quickly between text and visuals.
  • Adherence to venue guidelines. Check your publisher's requirements, if any.
  • Reproducibility. Base your figures on templates or easily-reusable components. Scripted workflows (TikZ, matplotlib, etc) ensure a figure can be reproduced in an automated fashion; for manual tools, create a personal library of commonly used graphical components.

Beyond these basic points, finding a tool that fits your style and workflow is the most important part, closely followed by simply gaining practice and experience creating figures. Don't be afraid to spend a lot of time on your figures: they offer an extremely valuable communication channel for your work.

Key Considerations for Choosing Your Tool

Most people find that their figures and diagrams fall into two broad categories: data-driven figures such as graphs, tables, and charts, and illustrative figures such as block diagrams, experimental structure diagrams, flowcharts, state diagrams, etc. Generally speaking these two categories are best served by different tools and workflows.

Data-Driven Figures

When you're visualizing numbers (line plots, bar charts, scatterplots, etc), there are a few things to consider:

Several common plot types (matplotlib)

Several common plot types (matplotlib)

  • Automation support: An automated system refers to a computer program that performs the entire lifecycle of figure generation: data parsing/cleaning, sorting/categorizing, invoking a charting library, writing the resulting image to disk. Do you need this? If so, can the tool handle the full pipeline with minimal manual steps?
  • Data format compatibility: Does the tool speak natively to your data sources (CSV, Excel, JSON, database), or will you spend time converting and adapting data yourself?
  • Size of data: Are you dealing with a dataset with thousands, or more, rows? If so, it is almost always in your best interest to adopt an automated system, e.g. matplotlib or ggplot. Massive Excel sheets can work, but they can get out of control quickly for large datasets.
  • Collaborator backgrounds: Does your team have the necessary comfort to work with programmatic or automated tools, or do collaborators need a GUI (Excel, Tableau)?

Additionally, it is increasingly expected that raw datasets be provided as accompanying artifacts for your publication. Check your publication venue for specifics, for example if there is a specific artifact format required like CSV, Excel, etc. Save yourself some time and adopt that destination data format as early as possible.

Illustrative Figures

Vexlio, Inkscape, and Illustrator UIs

Vexlio, Inkscape, and Illustrator UIs

Visuals that are not directly plotting data are generally illustrating concepts, experimental setups, algorithms, etc. These figures are typically best created by end-user software such as Adobe Illustrator, Vexlio, Inkscape, etc. Sometimes these are collectively referred to as "WYSIWYG" editors, a shorthand for "what you see is what you get."

Here are a few things to keep in mind when comparing these tools:

  • Snapping & alignment: Does the tool offer guides or smart snapping so shapes and connectors stay in place, or will you be spending a lot of time dragging things around as you finalize your design?
  • Labeling capabilities: Does it support LaTeX or rich text labels directly in the canvas, without separate editing?
  • Shape library & templates: Can you access domain-specific symbols or build reusable stencils to speed up your workflow? Is there a way to import external assets like images and symbols?
  • Layering & grouping: Can you organize complex diagrams into layers or groups for easier editing and clarity?
  • Export & integration: Will it output clean SVG/PDF, and integrate smoothly with your manuscript pipeline?

Depending on your domain and/or research group, you may or may not need all of these features. Scan your previous publications for an idea of what types of visuals you typically create, and prioritize tools that let you create them with minimal fuss.

Programmatic Tools

Programmatic tools allow you to generate scientific figures automatically through the use of drawing commands written as code. They're a natural fit for data-driven charts and plots, though some are also able to used for illustrative diagrams.

Typically, you'll reach for these tools when your data updates often, when you need to batch-generate dozens of plots, or when you want figures to live alongside your analysis code or paper source code in version control. They slot neatly into automated, reproducible workflows.

TikZ (PGF/TikZ)

A strong contender for the standard tool in academic graphic design, TikZ1 is a LaTeX package that allows the creation of high-quality vector graphics directly in your .tex file. You write simple drawing commands5, compile, and get vector output that matches your document's fonts and math typesetting exactly. Open up any math textbook and it's fairly likely that the diagrams you see will have been made with TikZ.

ggplot2 (R)

ggplot22 builds plots with The Grammar of Graphics: map data columns to aesthetics, layer "geoms" for points, lines, or bars, then let the library handle scales and themes. It is a part of the tidyverse, so you can wrangle data in dplyr and send it straight into your plot without having to write adapters. Faceting and built-in themes produce polished, multi-panel figures6.

matplotlib (Python)

matplotlib3 is Python's go-to for static 2D plots. Start with pyplot for a quick chart, then switch to the object-oriented API when you need fine control over axes, ticks, and annotations. Global settings via rcParams or style sheets (like seaborn's) keep your figures consistent7, and multiple backends let you export SVG, PDF, or high-res PNG.

Comparison Chart

Tool Key Strength Main Drawback
TikZ Perfect LaTeX integration Unusable outside of LaTeX pipelines
ggplot2 Grammar-of-Graphics layering Performance issues on huge data
matplotlib Access to full Python ecosystem Verbose styling API

Common Questions

  • How do I automate figure updates when my data changes? Most people set up a small script or Makefile that pulls in current data, runs your plotting code (matplotlib, ggplot2 or TikZ compile), and exports the images. If applicable, you can even hook it into CI/CD so every push regenerates the figures automatically.
  • Can I tweak a code-generated plot by hand afterwards? Yes: export to SVG, then open in a general-purpose vector editor such as Illustrator for final polish. That way you get reproducibility plus the freedom to adjust labels, colors, or layout by eye.
  • Which tools play nicely with Jupyter or Overleaf? In Jupyter, matplotlib and ggplot2 integrate out of the box, letting you see charts inline as you code. For LaTeX workflows, TikZ works seamlessly in Overleaf: just hit "Recompile" to update your diagrams in one place.
  • How can I keep styling consistent across dozens of figures? Define a single style file or theme: use rcParams for matplotlib, a custom theme() for ggplot28, or a TikZ style .sty file1. Then load it at the top of every script or document.
  • What's the easiest way to include math notation in my plots? TikZ handles LaTeX math natively. In matplotlib, turn on LaTeX rendering in rcParams9. In ggplot2, use a package like latex2exp10.

General-Purpose Vector & Diagram Editors

If you prefer a visual interface, or you need finely tuned layouts, these vector editors let you drag, drop, and tweak shapes without writing code. They're ideal for illustrative figures, from flowcharts to complex block diagrams.

Adobe Illustrator

The industry standard for vector graphic design, used across many different environments, from T-shirt design to business illustrations. Illustrator1 offers a huge suite of drawing options and tools, advanced typography, colorspace control, and a lot more.

Although Illustrator is an extremely deep and capable tool, you may face a steep learning curve, and it's likely for scientific figures you will need only a small fraction of its functionality. Its generality may actually slow down the process of making typical scientific figures.

Inkscape

A free, open-source Illustrator alternative. Inkscape handles SVG natively, provides low-level path editing, and supports extensions3. Its interface can feel clunky at first, and performance may lag during editing. Inkscape is a great, free option for those who are on a tight budget, or those who need the generality of its full vector editing tool suite.

Vexlio

Tool Spotlight: Vexlio

  • Specifically designed for making scientific figures
  • Built-in LaTeX support
  • Smart snapping & alignment tools
  • No download or signup needed!

A diagramming tool built specifically for technical and scientific figures. Vexlio combines smart snapping, native LaTeX labels, code syntax highlighting, and a robust connector system4.

Because Vexlio is not a general-purpose vector editor, it may not be suitable for more artistic illustrations. But for the bulk of typical illustrative scientific figures, Vexlio sits in a perfect middle-ground between complexity, capability, and promoting common diagramming tasks to first-class features.

Comparison Chart

Tool Key Strength Main Drawback
Illustrator Industry-leading feature set Overly general - slow for some scientific figures
Inkscape Free, open-source general-purpose SVG editor Laggy performance, less polished UI
Vexlio LaTeX labels + drag-and-drop ease Requires internet connection

Common Questions

  • What formats should I export? SVG or PDF for vector graphics, especially when journals require scalable art5. PNG for raster images, at specified DPI if required.
  • How do I manage versions of my diagrams? Treat your SVG or native file like code, and store it in Git or another VCS. In Illustrator, use Artboards to track iterations2; Inkscape and Vexlio support "Save a Copy" snapshots.
  • Tradeoffs of offline vs. online? Illustrator and Inkscape work fully offline. Vexlio requires an internet connection but gives you automatic backups, and zero local installs4. Decide based on your team's connectivity and security needs.

Specialized Scientific Graphing Software

If your work combines statistical analysis with plotting, and you prefer point-and-click interactivity over writing code, specialized graphing packages can save you time and give you confidence that you are running the correct statistical calculations. They bundle common tests, curve fitting, and formatting into a single interface designed for scientists.

GraphPad Prism

Prism1 pairs a point-and-click workflow with builtin statistics. You import your data table, choose tests and fits (t-tests, ANOVA, nonlinear fits), and generate graphs from there. It highlights significant differences, builds error bars, and annotates results automatically. Prism is Windows/macOS only2 and the licensing fee can be steep for individual users, though many labs will provide this for their research staff.

OriginPro

OriginPro3 offers deep analysis tools like nonlinear curve fitting, advanced signal processing, and batch processing for large datasets. Its graphing feature includes customizable templates and multi-panel layouts. OriginPro is Windows-only4, and though it supports scripting for custom routines, it may come with a learning curve. Still, labs with significant data analysis demands often find its combination of analysis and graphing hard to beat.

Comparison Chart

Tool Key Strength Main Drawback
GraphPad Prism Builtin stats + plots in one GUI Windows/macOS only
OriginPro Advanced curve fitting and batch processing Windows only; steeper learning curve

Common Questions

  • Which tool should I pick for basic stats? If you need t-tests, ANOVA, or simple curve fits without coding, Prism's guided interface gets you there fastest.
  • Can I automate analyses? Prism offers Analysis Templates5 to rerun saved workflows on new data. OriginPro supports batch processing and scripting via LabTalk or embedded Python6.
  • How do I export high-res graphics? Both let you export directly to TIFF, PNG, EPS, or PDF at journal-required resolutions.
  • Are there trial versions or academic discounts? Yes. Prism and OriginPro both offer ~30-day trials. Check their websites to confirm pricing, and for student or institutional pricing.
  • Can I tweak the statistical tests? Prism lets you add user‑defined equations7 for specialized fits. OriginPro goes further with custom analysis scripts using LabTalk or Python; see the Python integration docs6.

Other Notable Options

Beyond dedicated vector editors and code libraries, a few other tools are worth considering for situations where you are inheriting workflows, collaborating with teams that do not have access to other more specialized tools, or supporting a destination format like interactive webpages.

PowerPoint

PowerPoint is installed on many common lab systems and makes quick work of arranging text, shapes, and images. A solid choice for fast mockups or slide reuse1. However, it's optimized for screen resolution rather than print, so exporting PDFs or TIFFs often requires workarounds2. Advanced vector options like Bezier path editing are limited.

MATLAB

MATLAB's builtin plotting functions cover everything from simple line graphs to 3D surfaces. You can generate a wide variety of figures with basic commands3. Interactive Live Scripts let you tweak parameters and see updates inline4. The trade-off is license fees and some less precise styling control compared to dedicated vector tools.

Plotly / D3.js

Plotly.js wraps D3.js to offer a high-level declarative API for interactive charts. It supports over 40 chart types, including 3D, statistical graphs, and maps5. D3.js itself gives you full control over the DOM / SVG elements, enabling bespoke, data-driven visuals6. Both require web-centric workflows and some JavaScript knowledge.

Comparison Chart

Tool Key Strength Main Drawback
PowerPoint Ubiquitous, easy for basic figures Limited quality-of-life features for diagramming
MATLAB Industry-standard, comprehensive plotting functions License cost
Plotly Interactive charts, declarative API5 Requires JavaScript environment
D3.js Very customizable and fully programmatic Requires JavaScript environment

Common Questions

  • Does MATLAB support LaTeX labels? You can set the Interpreter to 'latex' for axis labels and annotations in MATLAB plots7.
  • Which is easier to adopt, Plotly or D3? Plotly's high-level interface means less boilerplate; D3 gives much more flexibility at the cost of more setup8.
  • Can I export standalone PDF images from PowerPoint? Yes, you can export specific slides as PDF or EPS9.

Feature-by-Feature Comparison

We've covered a lot of individual tools in this article. While each tool will ultimately fit each usecase differently, here is a summary table of general attributes shared by all tools, which you can can across to see where each tool stands on cost, learning curve, etc.

Tool Cost / Licensing Major Output Formats Learning Curve Version Control Collaboration
Programmatic Tools
ggplot2 Free, open‑source PNG, PDF, SVG Moderate Excellent (R scripts) Via git or other tooling
matplotlib Free, open‑source PNG, PDF, SVG Moderate Excellent (Python code) Via git or other tooling
TikZ Free, open‑source PDF, SVG Steep Excellent (plain‑text code) Via git or other tooling
Vector & Diagram Editors
Vexlio Free and paid options SVG, PDF, PNG Easy Manual None
Inkscape Free, open‑source SVG, PDF, EPS, PNG Moderate Manual None
Adobe Illustrator Paid subscription AI, SVG, PDF, EPS Steep Via Artboard Via cloud file sharing
Specialized Graphing Software
GraphPad Prism Paid license TIFF, PNG, PDF Easy Poor (binary project files) None
OriginPro Paid license TIFF, PNG, PDF, EPS Moderate Poor (binary project files) None
Other Notable Options
PowerPoint Paid license / Office suite PPTX, PDF, PNG Easy Poor (binary .pptx) None
MATLAB Paid license PNG, PDF, EPS Moderate Good (code + .fig files) None
Plotly.js Free, open‑source HTML, SVG, PNG Moderate Good (JSON + code) None
D3.js Free, open‑source HTML, SVG Steep Good (code + JSON) None

Frequently Asked Questions

  • How do I decide between programmatic and GUI tools? Ask yourself how often your data changes, how much automation you want or need, and how comfortable you and your team are with code. If you regenerate figures frequently or need tight integration with manuscripts, programmatic libraries shine. For illustrative diagrams or rapid layouts, a GUI editor will likely be faster.
  • Can I mix different tool types in one workflow? Yes. A common pattern is to generate core charts with code (matplotlib, ggplot2, TikZ) and then import the exports (SVG or PDF) into a vector editor, PowerPoint, or Vexlio for combining with illustrative diagrams.
  • What's the best way to keep figures consistent? Create and reuse style templates: rcParams or style sheets for code, text-style presets or symbol libraries in editors. Store these in a shared central location so every figure starts with the same fonts, colors, and line weights.
  • How do I handle journal requirements for file format and resolution? Always check the journal's instructions first. Generally, export vector figures (SVG, PDF, EPS) for line art and diagrams, and high print-resolution raster (PNG, TIFF ≥300 dpi) for images.
  • Where can I find learning resources and templates? Most communities publish starter repos or template galleries: CTAN for TikZ, the tidyverse site for ggplot2, matplotlib's official examples, Inkscape extensions library, etc. If you've developed your own system, consider publishing it on your own Medium or GitHub pages to share your wisdom.

Conclusion & Recommendations

Picking the right tool really comes down to what you value most: automation, visual flexibility, or built-in analysis. If you're updating data regularly and want reproducibility, a programmatic library like matplotlib, ggplot2, or TikZ will fit naturally into your workflow once you get over the learning hump. For illustrative diagrams that require a lot of custom graphics or manual edits, a general-purpose editor like Illustrator or Inkscape is a good choice. For scientific figures and diagrams, Vexlio strikes the best middle ground between generality and diagramming-specific features.

Whichever path you choose, lean on templates and shared style files to keep your figures consistent. And if you'd like to try a tool that blends LaTeX support, geometric snapping, and smart arrows and connectors, give Vexlio a spin.

open_in_newTry Vexlio for free

No sign-in required!