Tell me more ×
Academia Stack Exchange is a question and answer site for academics and those enrolled in higher education. It's 100% free, no registration required.

I would like to have suggestions of good software for drawing illustrations in research papers. I already know about Xfig, but this works only on Linux and is at times, clunky when it comes to text. Moreover the resolution is not always perfect making it difficult to manoeuvre the objects. Besides it is tough to learn and master, with all its weird click procedures.

I would love to know about better alternatives. Not talking about graphs here, just block diagrams and explanatory illustrations.

share|improve this question
There are similar questions at math.SE: e.g. this one and the linked question. – Martin Apr 12 '12 at 7:51
And at physics.SE - physics.stackexchange.com/questions/401/…. – Piotr Migdal Apr 12 '12 at 8:26

9 Answers

up vote 42 down vote accepted

As drawing software, I use OmniGraffle which is much more modern that Xfig, but based on similar principles. It's only available for the Mac and is not free, as far as I know. With little effort, one can produce very attractive diagrams.

I also use Tikz/PGF. It produces very nice diagrams and is very flexible. On the other hand, it requires that you specify the diagram in LaTeX and it has a bit of a steep learning curve.

share|improve this answer
11  
Tikz/PGF is really great, and I would advise to start directly by tweaking some existing examples, rather than learning it from scratch. – Charles Morisset Apr 12 '12 at 7:36
2  
I've given some arguments for the use of Tikz at the stats site as well, see here. Mainly Tikz is pretty simple for directed graphs, and that it is much easier to maintain a template between multiple diagrams in Tikz than it is with a WYSIWYG editor. – Andy W Apr 12 '12 at 11:59
3  
+1 for OmniGraffle (followed by pointed silence) – JeffE Apr 12 '12 at 19:43
3  
@DaveClarke, Nice troll about Linux ;). – Gopi Apr 13 '12 at 12:59
3  
@Suresh: see the section "Externalizing graphics" in the TikZ manual for a solution. – Federico Poloni Jul 29 '12 at 12:10
show 9 more comments

A free, fairly portable, and very complete tool for general illustration is Inkscape. It uses SVG as its native file format, and aside from attempting to be a decent drawing tool in its own right, one of its design goals was to provide complete coverage of the features available in SVG.

For block diagrams, flow charts, and other simple sketches of process and data flow there is Dia. It's primary design goal is to duplicate the features of Visio in free software. Like Visio, it uses a stencils and connections drawing model that works really well for diagramming relationships and flow, but gets tedious when attempting to do art.

For clean layout of directed or undirected graph diagrams, it is difficult to beat the Graphviz tools. They are primarily designed to be used from a textual description (a concise intro here (PDF)) of the graph, but there are various GUI tools that can edit their .dot files.

share|improve this answer
7  
Inkscape is also good for cleaning up diagrams, such as graphs produced by R. – Dave Clarke Apr 13 '12 at 6:56
I use Inkscape to make the figures without text, then use the lpic LaTeX package to add the text (or mathematical) labels. – Derrick Stolee Jul 27 '12 at 13:21

GeoGebra is free and multi-platform dynamic mathematics software for all levels of education that joins geometry, algebra, tables, graphing, statistics and calculus in one easy-to-use package. Constructions can be made with points, vectors, segments, lines, polygons, conic sections, inequalities, implicit polynomials and functions. All of them can be changed dynamically afterwards. Elements can be entered and modified directly on screen, or through the Input Bar. GeoGebra has the ability to use variables for numbers, vectors and points, find derivatives and integrals of functions and has a full complement of commands like Root or Extremum. Teachers and students can use GeoGebra to make conjectures and prove geometric theorems.

To add something that I personally liked a lot, it has the ability to generate TikZ code for any drawing made using the software! Also, the community recently completed a kick-starter campaign, in which they raised enough funds for an IPad version of the software, to be also available for free!

share|improve this answer
@TCSGrad: Thanks for your edit, and thanks for the info! I'm deleting obsolete comments. – Charles Morisset Mar 26 at 17:43

I use ipe almost exclusively. It's not well polished, and some things are non-intuitive, but it does those things I need well (simple sketches of math. structures with LaTeX formatted text). Also, LaTeX wiki book has some useful suggestions for alternatives.

share|improve this answer
1  
Can you expand on what you like about this software. Big list questions like these are not great fits for SE sites, because they tend to get multiple answers that do not provide much value apart from a link offsite. – Daniel E. Shub Mar 26 at 15:58
Indeed, this answer would benefit enormously from a brief description of what Ipe is and what it can do. Even the linked project page does a rather poor job of explaining that -- after browsing the documentation and the wiki, I'm now fairly sure that it's some kind of a vector graphics editor, similar to Inkscape or maybe GeoGebra, but even that was not obvious at a glance; I first assumed it was just a diagram markup language like TikZ. Oh well, it still seems interesting enough that I guess I'll just have to download and try it. – Ilmari Karonen Mar 26 at 20:11

I know that TikZ was mentioned already, but I think it deserve its own answer. It is different from Omnigraffle just like TeX is different from Word. But, if you're up for the effort, you'll enjoy the freedom of producing extremely high quality figures!

True, using TikZ for "heavy" diagrams can lead to lengthy compilations, but this can be solved using the externalize library of TikZ, or the Standalone class.

Although TikZ is not at all WYSIWYG, there are several editors, that enable the use to draw "by hand" the diagram and export it to a Tikz snippet. Personally, I don't have experience with this kind of combination.

Another advantage of TikZ, that as it is somewhat a programing language (after all TeX is turing-complete) you can program your diagram and use external data sources and visualize them. To that end, you can use a combination of TeX, lua or other languages of your choice.

Finally, and most important; TikZ provides an amazing live community which can help you with everything related to it. A perfect starting point would be the TeX.se.

PS: You can also have a look at pstricks. It implements a similar spirit like TikZ but... Well, I'm not using it so I cannot say much. I can say, that I saw amazing outputs of pstricks.

share|improve this answer

Mahtematica is actually good for making all sorts of graphics. Think of it as vector graphics software, but that every control point/coordinate can be specified to the decimal.

Edit: The syntax is really clear, it is easy to procedurally construct graphics, and it has lines, arrows, bezier curves, and of course a bunch of nice build-in plot functions that one can add extra decorations to. Furthermore, it IS a programming language, so if you have multiple images, it is easy to share common components, so that a singe change affects all images (provided you use a good programming technique). It is also easy to get help with mathematica over at mathematica.stackexchange.

The included image was entirely produced via a few lines of mathematica code, for example:

enter image description here

share|improve this answer

In general, if you intend to draw either mind maps or flow diagrams, you may use the conceptdraw tool. It serves both Mac and MS Windows users.

share|improve this answer
Can you expand on what you like about this software. Big list questions like these are not great fits for SE sites, because they tend to get multiple answers that do not provide much value apart from a link offsite. – Daniel E. Shub Mar 26 at 15:57

If you really care about typography, it is best to produce the figures and the text with the same layout engine. This is the only way in which you can be sure that fonts, stroke size and spacing match those of your text.

TikZ, already suggested in Dave Clarke's answer, solves this problem excellently for TeX. Although, like TeX, it can be difficult for a newcomer. Adobe InDesign is a WYSIWYG solution. MS Publisher is another one, although less powerful. Word has limited capabilities in this respect.

Most often, this requires access to the final article style of the journal, and is work for a typographer rather than a scientist. So it would be better left to the journal staff. However, it is an unfortunate truth that most journals try to reduce costs at the expense of quality when it comes to typography. Some of them offer "professional figure editing" as an extra paid service for authors. Some of them just take what is provided and do not care about fonts and stroke sizes.

share|improve this answer

All ways that allow you to produce the graphic you want is what you should use. I have used many different software over the years. I have gradually abandonded ones when I found better alternatives. I usually make "raw" data plots using Matlab and then use Adobe Illustrator to put the finishing touches to them (Inkscpe or Corel draw would work equally well). The benefit of doing things this is for me that I can add material from different sources or plots in layers and change them as I see fit. I am sure this can be accomplished in other ways but I have found my way to the final product. I also happen to like messing with graphics so that helps me to explore new ways. I also use LaTeX and TikZ (which has been mentioned in replies) and so as I see it there is obviously no single way to generate the graphics but you need to chose the best ones. In my case: Illustrator (alt. Inkscape, Corela Draw), matlab, TikZ, and Photoshop (alt. Gimp) for photographic manipulation.

share|improve this answer

protected by Bravo Mar 26 at 15:49

This question is protected to prevent "thanks!", "me too!", or spam answers by new users. To answer it, you must have earned at least 10 reputation on this site.

Not the answer you're looking for? Browse other questions tagged or ask your own question.