I'm interested in which program would you recommend for drawing graphs with x and y errors. Also to be able to analyse data and then graph it. My ideal graph would look like this:



Until now I was drawing my graph reports in Excel, but I feel like Excel is made more for an accountants than scientists. I would really like to work more in scientific based programs that could come in handy in the future (graduate and postgraduate work, research).

Any recommendation?


Before answering, please see our policy on resource recommendation questions. Please write substantial answers that detail the style, content, and prerequisites of the book, paper or other resource. Explain the nature of the resource so that readers can decide which one is best suited for them rather than relying on the opinions of others. Answers containing only a reference to a book or paper will be removed!

  • 4
    $\begingroup$ Some common options are Matlab, Maple, Mathematica, Python, etc. $\endgroup$ – AccidentalFourierTransform May 26 '18 at 21:07
  • 2
    $\begingroup$ And plot.ly . And Gnuplot. And Igor (Wavemetrics). $\endgroup$ – Pieter May 26 '18 at 21:24
  • $\begingroup$ You can easily make plots like that in MS Office, too. Honestly that's a pretty low bar. $\endgroup$ – Nat May 26 '18 at 21:24
  • 2
    $\begingroup$ In high energy particle physics, CERN's ROOT is widely used. It is basically a C/C++ interpreter, and has extensive plotting libraries that can be used in your analysis code, or on command-line for instant purposes. You can even implement a GUI with interactive plots and buttons if you have a routine analysis but need a specific interactive interface for your experiment. There is also a python version: PyROOT. $\endgroup$ – Oktay Doğangün May 26 '18 at 21:38
  • $\begingroup$ I use Mathematica and Igor Pro. $\endgroup$ – Samuel Weir May 26 '18 at 21:50

Python is certainly a major language for scientific data analysis today. The three key words are: Numpy, Scipy and Matplotlib.

  • NumPy: it's the basic numerical analysis package in Python. It allows for array manipulation, matrix calculus, Fourier transforms, statistics, ...
  • SciPy: it's the extended version of numpy with more advanced built-in procedures: image and signal processing, optimization, graphs routines, more statsitic and so on. Importing SciPy makes essentially redundant importing NumPy.
  • Matplotlib: here we came to the standard for visualizing data in Python: you can do almost everything in 2D or 3D with this library. Take a look at this sample plots!

There is also a useful IDE for Python called PyZo, in case you want to have the shell and the editor in a single window. It makes the user experience and the debug a little bit easier.


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.