We’ve featured a free plotting software – SciDAVis recently, SciDAVis is straightforward and easy to use, it has no learning curve. GNUPlot is another free and open source scientific plotting software developed for scientists and pupils, it’s a command line based program, and will take you some time to learn, but it allows to draw more complicated graphs such as Bezier splines, vector fields, non-gridded data, etc.

Suppose that you wish to draw a two-dimensional or three-dimensional graph to present a specific formula or market analysis data, there are many choices available:

- Use a 3D modeling software such as 3DS Max, Maya, LightWave 3D, Softimage to model objects.
- Use an image editing software such as Adobe Photoshop, GIMP, Corel PaintShop Photo Pro, Ulead PhotoImpact to paint images.
- Use a vector graphics software like Adobe Illustrator, CorelDRAW to draw graphics.
- Alternatively, if you are a software developer, you can use a computer language such as C/C++, Java, Objective C, pascal, python, C# together with a graphics library like OpenGL or DirectX to render your own 3D scene freely.
- Use an engineering analysis software like MATLAB to plot the graph.

The first 4 options will consume much time and effort, the last option is effective but not free, we've offered 3 free alternative to MATLAB in the field of 2D/3D Plotting.

**Features**
- Allows to render 2D/3D data points/functions in many styles: lines, points, dots, impulses, error bars, boxes, candlesticks, finance bars, etc.
- It could plot a large number of different types of diagrams for you: simple functions, B-splines, Bezier splines, histograms, filled curves, candlesticks, parametric functions, vector fields, approximation, 3D surfaces, 3D singularities, 3D mapping, non-gridded data, 2D and 3D heat maps, images, texts, etc.
- Allows to zoom in/out, rotate, scale the plot.
- 3 rendering methods available: no antialiasing, antialiasing, antialiasing and oversampling.
- Allows to copy the graph to clipboard or render to external file directly.
- Supports complex number.
- Allows to perform algebraic computation and print out the result.
- Supports user-defined functions.
- Allows to animate graph.
- Allows to plot self-defined graphs.
- And many more…

GNUPlot supports all 32 bit Windows including Windows 7/Windows XP, and Mac OS X, Linux.

GNUPlot is a 9.9MB download available from SourceForge.net.

SciDAVis is a free, simple-to-operate, flexible, cross-platform and open source plotting program developed by Tilman Benkert and Knut Franke, it’s based on OpenGL and QT, SciDAVis makes analyzing and visualizing scientific data a breeze.

**How to use SciDAVis**

If you have the lasted version of Python installed( for example, Python 2.7 ), you might need to rename the file “python27.dll” in your system folder( “C:\Windows\System32″ ) to “python26.dll” to get SciDAVis working.

Then you can launch SciDAVis, now I’ll show you how to create a matrix and draw a 3D plot with it.

First, click on “File” – “New” – “New Matrix”, then change the value of “First column X” and “First Row Y” to -10 respectively and hit the “Apply” button under the “Coordinates” tab, now navigate to the “Formula” tab, copy and paste the following code into the big edit field:

Now active the left spreadsheet which contains tens of rows and columns and press CTRL+A to select all the items in the current matrix, then hit the “Apply” button directly right of the label “Formula” in the right panel, all the entries of the matrix will be calculated and filled in immediately, as seen below.

Now you can hit the “3D Wire Surface” button on the bottom toolbar to let SciDAVis render the 3D plot of the matrix we defined above for you. You can check out the online manual for more detailed information, although it’s a bit outdated.

**Features**

- Allows to render 2D graph or 3D surface from table or function.
- Allows to draw the following kinds of plots from table: line, scatter, line+symbol, spline, vertical bars, horizontal bars, area, pie, box plot, histogram, stacked histogram, ribbon, bars, trajectory, etc.
- Allows to render 3D diagram with bars, dots, cones, crosshairs, wireframe, filled polygons, etc.
- Allows to zoom in/out, rotate, play animation.
- Supports Python script.
- Several data analysis operations supported: translate, differentiate, integrate, smooth( Savitzky-Golay, FFT filter, Moving window average ), FFT filter( low pass, high pass, band pass, band block ), interpolate, FFT, fit linear, fit polynomial, fit exponential decay, fit exponential growth, fit boltzmann(sigmodial), fit Gaussian, fit lorentzian, fit multi-peak, etc.
- Allows to export to bmp/png/pdf/eps/ppm/ps/svg/xbm/xpm files.
- And many more…

**Download SciDAVis**

SciDAVis works on Windows 7, Windows XP, Mac OS X and Linux.

SciDAVis is a 9.55MB download available from SourceForge.net.

External resources: Python, OpenGL.

FreeMat is, as its name suggests, a free and open source clone of the commercial product – MATLAB. It’s a numerical computing environment for scientific processing and rapid engineering, it supports Fast Fourier Transform, 2D/3D graphics plotting and visualization, and parallel processing.

FreeMat has the most features of MATLAB – in terms of numerical computing field, and has a similar user interface to MATLAB. FreeMat is cross-platform, it works on Windows 7, Windows XP / Vista / 2000 / NT / 9X / Me, as well as Mac OS X and Linux.

**Feature List**

- Codeless interface to external C/C++/FORTRAN code.
- Full support for dynamic structure arrays.
- Supports function pointers (eval and feval are fully supported).
- Supports classes, operator overloading.
- N-dimensional array manipulation (by default, N is limited to 6)
- Support for 8 / 16 / 32 / 64 bit integer types (signed and unsigned), 32 and 64 bit floating point types, and 64 and 128 bit complex types.
- Built in arithmetic for manipulation of all supported data types.
- Support for solving linear systems of equations via the divide operators.
- Eigenvalue and singular value decompositions.
- Full control structure support (including, for, while, break, continue, etc.).
- 2D plotting and image display.
- 3D Plotting and visualization via OpenGL.
- Heterogeneous array types (called “cell arrays” in MATLAB-speak) fully supported.
- Arbitrary-size FFT support.
- Pass-by-reference support (an IDL feature).
- Keyword support (an IDL feature).
- Native Windows / Mac OS X support.
- Native sparse matrix support.
- Parallel processing with MPI (in the FreeMat development versions).
- Handle-based graphics.

Download FreeMat for Windows from CNET.

Download FreeMat for Mac OS X / Linux from SourceForge.