What are good choices to create figures in computer science research papers? Not talking about graphs here, just block diagrams and simple illustrations. For example, what is the tool that can be used to produce this figure?

Machine learning box graphic


2 Answers 2


Personally, I am a fan of the TeX-Package TikZ. It is easy to draw simple diagrams, include small pictures or create structures by using loops and conditionals. It also supports relative positioning, which makes everything a lot easier than manual placement.

Since all of the input is plain text, it works great in combination with source control (e.g., git) and prior versions can easily be reverted back to.

I have to mention it takes some time to get used to the syntax, but the folks over at the TeX Stackexchange are usually very helpful. They have a great showcase of scientifc pictures, too! https://tex.stackexchange.com/questions/158668/nice-scientific-pictures-show-off

When images from other documents are to be included, I usually crop them out as vector graphics from pdfs by using Libreoffice Draw. With both tools in combination, I often get satisfying results since everything remains vector graphics for the entire diagram if i wish to.

  • Tikz is all but easy to draw diagrams with. I use it for highly regular, "programmable" diagrams or diagrams that need "programmatic" updates from time to time. It is not useful for quick diagrams. Other than that, Inkscape, or Ipe, or if one feels really retro, Xfig, may be more useful. Commented Dec 8, 2019 at 17:12
  • I never said anything about quick ;) Commented Dec 8, 2019 at 20:17
  • 1
    You said "easy". It is not easy. Fun, I agree, but it is quite tricky and I have limited my use of it to above cases after using it for a while. Commented Dec 8, 2019 at 22:21

My combination:

  • Excel
  • PowerPoint

With those, you have smart art which allows you to get things done really fast but larger graphs get painful. For those I use:

  • draw.io

draw.io has good diagram capabilities and it is fast to learn. Sometimes there are some things that cannot be done with those. If everything else fails:

  • Latex equation editors
  • Snipping tool
  • Paint

With the snipping tool, I bring elements to paint from example latex equation editor or some graphs or whatever the visualization needs. I think some real professional software might be better than Paint but it is hard to justify those expensive licenses for a few pictures a year. You can probably replace the Office programs with free ones but these are the programs I use.

Not the answer you're looking for? Browse other questions tagged .