29
$\begingroup$

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.

$\endgroup$
2
  • $\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$
    – amWhy
    May 23, 2011 at 4:23
  • $\begingroup$ Thank for the suggestion - regretfully not a student :( $\endgroup$
    – Andrew S.
    May 24, 2011 at 22:09

9 Answers 9

18
$\begingroup$

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

$\endgroup$
5
  • $\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$
    – amWhy
    May 23, 2011 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, 2011 at 4:52
  • $\begingroup$ Thanks, Sebastien. I've already checked out your link to Gnuplot. I'll look into it a bit more! $\endgroup$
    – amWhy
    May 23, 2011 at 5:39
  • $\begingroup$ This is a very useful list - I think i will start with GNUPlot Thank you :) $\endgroup$
    – Andrew S.
    May 24, 2011 at 22:10
  • $\begingroup$ The link for not so frequently asked questions is broken :(. The new link is here $\endgroup$ Mar 1, 2016 at 20:13
8
$\begingroup$

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.

$\endgroup$
4
$\begingroup$

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

$\endgroup$
3
$\begingroup$

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

3d scatter plot

Disclaimer: I help develop Plotly

$\endgroup$
1
  • $\begingroup$ plotxy is brilliant. can be found at: plot.ly $\endgroup$
    – PKCLsoft
    Jul 6, 2018 at 0:03
3
$\begingroup$

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

$\endgroup$
1
$\begingroup$

There is also MayaVi2:

http://mayavi.sourceforge.net/

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

$\endgroup$
1
  • $\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, 2017 at 9:33
1
$\begingroup$

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.

$\endgroup$
2
  • $\begingroup$ Can you edit the answer, including a link to the official website of Geogebra and maybe a picture? That would be awesome. $\endgroup$
    – user124708
    Aug 26, 2016 at 13:24
  • $\begingroup$ It has a built in spreadsheet where you can copy and compute your data. Creating a scatterplot is as easy as: select the three columns, right click, choose "create list of points". However, I personally do not like it for a scatterplot. The default representation of points is big solid balls each with a label. First, you need to go to the settings and toggle the option "Labeling: No new object". Then somehow shrink the point-balls to point-points. This extra work is always frustrating IMHO $\endgroup$ Mar 22, 2022 at 9:04
1
$\begingroup$

I'm coming late on this thread, but geogebra: https://www.geogebra.org/ is a great simple tool. It can run in a web browser and it's very easy to use.

$\endgroup$
0
$\begingroup$

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.

$\endgroup$

You must log in to answer this question.

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