I am looking for (preferably free) software to:

1) plot 3d points read from a file. A scatter plot would be fine.
2) Optionally color the points by a property - also read from the file

It would be terrific if this program could also compute and display the best fit plane through these points.

  • $\begingroup$ Note: if your a student, Andrew, there are some significant discounts available, e.g. on Matlab, Mathematica, not to mention word processing software. Sage.org (free-source) has Sage available on-line for use and storage of work (remember Sage contains R, GAP, 3-4 additional programs), and it can be downloaded, but I had to do so through VMWare (virtual machine)... $\endgroup$ – Namaste May 23 '11 at 4:23
  • $\begingroup$ Thank for the suggestion - regretfully not a student :( $\endgroup$ – Andrew S. May 24 '11 at 22:09

There are quite a number of freewares which do that.

  1. Gnuplot, with a very interesting not so frequently asked questions here (archive version), fit is easily obtained. Nice outputs to PDF and LaTeX
  2. Matplotlib: requires Python, so that's probably not your best option if you need to produce graphs quickly, but if you are thinking about a long term solution, I would go for this one,
  3. R, normally for statistical computations, but quite nice plotting possibilities. Also, it is a software which is intended to read data in files, so it has very powerful and easy to use functions to import CSV files and the likes,
  4. Octave not a big fan. Don't know the new major release, though. Previous releases were based on Gnuplot for the graphic part,
  5. Scilab has continuously grown througout the years, so as to become a monster now. Not a big fan either.

Hope you'll find your best choice here !!! Good luck, Sébastien

  • $\begingroup$ Any preferences? I've got sage, with GAP, R, ..., Matlab, Mathematica, some graphics programs not readily beneficial, save for geometer's sketchpad (which can be posted to web), but I have to go through 2 saves to different formats for an image file...Would certainly appreciate "reading in capabilities", but my work is more abstract, at this point...lots of tools at my disposal, but there's also the time-factor involved in "getting up to speed" in using the software so it can be used productively...So many choices...hard to know what to focus on learning first $\endgroup$ – Namaste May 23 '11 at 4:18
  • $\begingroup$ Option 1 is my favourite, but I'm partial, since I've been using it for almost ten years now. I like gnuplot, because you have the opportunity to script your plots. That's particularly useful if you change your calcs and need to update the corresponding graph(s) accordingly. Mind you, this is true of all the other options (!), but the syntax of GNUPLOT is particularly simple. Not sure I'm very helpful, here. Note that coloring points according to property read in file might be more of an issue. You can do it programmatically (options 2-5), but it would be more difficult with GNUPLOT. $\endgroup$ – Sebastien May 23 '11 at 4:52
  • $\begingroup$ Thanks, Sebastien. I've already checked out your link to Gnuplot. I'll look into it a bit more! $\endgroup$ – Namaste May 23 '11 at 5:39
  • $\begingroup$ This is a very useful list - I think i will start with GNUPlot Thank you :) $\endgroup$ – Andrew S. May 24 '11 at 22:10
  • $\begingroup$ The link for not so frequently asked questions is broken :(. The new link is here $\endgroup$ – Ciprian Tomoiagă Mar 1 '16 at 20:13

I checked all of the above options out and if you want to plot something in 3D in the next ten minutes, and not ten days from now, check out Graphing Calculator 3D.


Asymptote vector graphics language. Check out the gallery of graphs/plots/sketches. Here is very pretty examples/code page from France.

Iso plot Surface plot


Another one is Plotly, which is entirely web-based and free for public use.

3d scatter plot

Disclaimer: I help develop Plotly

  • $\begingroup$ plotxy is brilliant. can be found at: plot.ly $\endgroup$ – PKCLsoft Jul 6 '18 at 0:03

DataMelt math program for numeric and statistics computations looks good for plotting functions, data and histograms in 3D, and saving outputs in vector-graphics formats. It is free and written in Java (so, runs on any computer). It is also portable, so no problem with installation.

Here is one example of function and a histogram: enter image description here


There is also MayaVi2:


But I am not sure how it compares with other visualization libraries... would like to hear more comments on it.

  • $\begingroup$ the way the OP describes his needs, mayavi would be overkill. But it's IMHO the prettiest of the 3d plotters I've tried. Highly recommended. $\endgroup$ – PatrickT May 15 '17 at 9:33

I personally prefer to use GeoGebra, it has simple plotting functions and nice 3D graphing as well. To input a point, all you need is the ordered triple and it will plot it for you. It can also graph spheres and the like.

Hope this helps.

  • $\begingroup$ Can you edit the answer, including a link to the official website of Geogebra and maybe a picture? That would be awesome. $\endgroup$ – Filippo De Bortoli Aug 26 '16 at 13:24

Look at maxima draw vtk .

One criteria that I apply to 3d graphs , is that they have proper perspective. By this I mean that lines and objects appear smaller the further away from the viewer they are.

Also hidden line and surface. Three dimensional rotation ; scaling.

Real time updating.

Finally , maybe ray tracing.


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.