I have always wondered with what programs do people do their graphics when they publish papers. They most of the time seem to be embedded in some way as vector graphics, I'd say, as when I try to zoom the pdf it seems it computes the image in the moment, it doesn't seem to be a image. From their aspect they don't seem to be just print screens of Mathematica plots.

Here are some examples of what I mean:

alt text

alt text

Anyone knows what should I use to be able to do similar graphics?

(I've put a latex tag as I believe it has something to do with it)

  • 1
    Not really a programming question is it? – Jrud Dec 18 '09 at 15:55
  • Maybe needs to be moved to superuser.com – Andy West Dec 18 '09 at 15:58
  • 1
    With reguard to moving to SU: it would help a lot if we knew what environemtn he was using to prepare the papers and graphics... Absent a response, I'd vote for moving it. – dmckee --- ex-moderator kitten Dec 19 '09 at 2:02
  • superuser.com is a better environment for this question. It's an interesting question though. – Stefano Borini Dec 19 '09 at 5:44

Have a look at PGF/TikZ. A lot of good examples can be found in the PGF/TikZ examples gallery.

Other options include: Asymptote, Sketch 3D, PSTricks, and Gnuplot TikZ terminal.

  • Sketch 3D doesn't exclude PGF/TikZ. It is more like higher level geometry DSL, to generate good PGF/TikZ code. – sastanin Apr 23 '12 at 12:23

Alok is quite right to suggest TikZ: this is probably the best of the current generation of graphics software. Though metapost is well worth looking at.

A historical note: you could embed scaleable graphics in tex documents way back in the olden days, by using metafont to represent graphics as font characters, which could simply be "typed" into .dvi files.

Later, dvips supported encoding of "ps specials" in dvi files, which supported inclusion of .eps figures, and made possible more sophisticated graphics packages such as xy-pic and pstricks.

Metapost allowed the metafont font descriptors to be embedded directly in the dvi file as ps specials.

The advent of pdflatex has changed the landscape a little: not all ps trickery converts as well to the way pdftex handles graphics: metapost is fine, but pstricks requires escaping out to rerender. Hence such packages as pdftricks, which provide a "safe" subset of the functionality of pstricks.


They are probable plots, generated with GnuPlot and integrated into latex via pstricks.



I'd recommend GLE: http://www.gle-graphics.org/ Most of the figures in "Pattern Recognition and Machine Learning" by Christopher M. Bishop are made by this tool.

Others also use GnuPlot, all figures in "information theory inference and learning algorithms" by David MacKay.

the above two books are very standard research texts in machine learning field.


Use any program that can produce vector graphics and export them to .epsor .pdf format.

I'm using MATLAB for creating graphs. Then I export it as .eps file. LaTeX supports this format directly, for pdfLaTeX, and if I need something to tune there, I'm using Adobe Illustrator, or InDesign end export it to '.pdf; or 'eps' file.


See Wikibooks. In general, you can either insert a PDF (with pdflatex) or EPS (with ps latex) to import the vector graphics, or you can use a LaTeX package to render the graphics inline.

To create external graphics, Gnuplot and R are both fine choices, and you can also create them with Gnumeric, Inkscape, Xfig, or whatever strikes your fancy.

To create inline graphics, I've had success with the XY-pic package. It's arcane and hard to learn, but quite powerful.

The labels in those two figures are rendered by TeX — it's easier to get them when you're creating the graphics inline, but it's possible for an external file to get them as well.


When I have done figures in LaTeX documents, I have preferred using an external image in either Poscript or PDF (depending on the tool chain used). The tools I have used for creating the graphic (such as gnuplot, Xfig, dot, etc) can output a vector image as opposed to a raster image.


TikZ and PStricks are both good. There's one specialized area of graphics which is very important for experimental science and engineering but which has not been mentioned in the ansewrs so for. For plotting experimental data, I find Jim Plank's jgraph far simpler and more flexible than gnuplot (although I confess the learning curve is annoying). One example is a plot containing some Tukey boxes which I made for my class's exam grades. There are several other nice examples on the jgraph pages.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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