3D Scatter and Surface Plots in SciDAVis: A Complete Guide

SciDAVis renders all of its 3D plots with OpenGL (via the Qwt3D library), so you can rotate, zoom and pan a plot with the mouse instead of redrawing it from scratch. This guide covers the two main data paths in SciDAVis 2.9.x: 3D scatter plots from XYZ columns in a table, and 3D surface plots from a matrix or an analytical function. Menu paths and dialog names below were checked against the official SciDAVis Handbook and the current SciDAVis source code.

Which 3D plots does SciDAVis support?

The available plot types depend on what kind of window is active, because 3D data can live in either a table (columns of X, Y, Z values) or a matrix (a regular grid of Z values). The table below summarizes every option.

Plot typeData sourceMenu path
Scatter (dots, cones, cross-hairs)Table with X/Y/Z columns or matrixPlot → 3D Plot → Scatter (table active) · 3D Plot → Scatter (matrix active)
3D BarsTable with X/Y/Z columns or matrixPlot → 3D Plot → Bars (table active) · 3D Plot → Bars (matrix active)
RibbonTable (single selected column)Plot → 3D Plot → Ribbon
TrajectoryTable with X/Y/Z columnsPlot → 3D Plot → Trajectory
Wire Frame / Hidden Lines / Polygons / Wire SurfaceMatrix3D Plot → 3D Wire Frame etc. (visible only when a matrix is selected)
Contour + Color Fill / Contour Lines / Gray Scale MapMatrix3D Plot → Contour+Color Fill etc.
Surface from a function z = f(x, y)Analytical formulaFile → New → New Surface 3D Plot (Ctrl+Alt+Z)
Key distinction: scatter-style plots work from ordinary table columns, while surface-style plots need a matrix — a regular rectangular grid of values. The top-level 3D Plot menu in the menu bar is only active when a matrix window is selected; when a table is active you will find 3D options under Plot → 3D Plot.

Creating a 3D scatter plot from three columns

A 3D scatter plot in SciDAVis is built from three columns designated X, Y and Z. The column designation is what tells SciDAVis which column is the abscissa, the second abscissa and the plotted value (see the Handbook’s Table → Set Column As commands).

  1. Create a new table (File → New → New Table) and enter your data in three columns — for example time in column 1, temperature in column 2 and pressure in column 3.
  2. Select the first column and choose Table → Set Column As → X.
  3. Select the second column and choose Table → Set Column As → Y.
  4. Select the third column and choose Table → Set Column As → Z. The header will show the designations so you can verify them.
  5. Click the Z column header to select it (this is the column whose designation must be Z).
  6. Choose Plot → 3D Plot → Scatter. SciDAVis opens a new 3D window with your points.
Common error: if you see “Please select a Z column for this operation!” or “You need to define a X/Y column first!”, it means the designations are missing or the selected column is not the Z column. Go back to Table → Set Column As and set X, Y and Z again, then make sure the Z column header is the one selected before plotting.

Once the plot exists, drag with the mouse to rotate it, use the scroll wheel or right-button drag to zoom, and middle-button drag to pan. If the plot looks empty, check that your columns contain numbers rather than text — only numeric columns can be plotted.

Creating a 3D surface plot from a matrix

Surface plots (wire frame, hidden lines, polygons) are drawn from a matrix, not from columns. Use this path when your data already sits on a regular grid — for example a response measured over a grid of (temperature × concentration) combinations.

  1. Create a matrix: File → New → New Matrix. A new matrix starts at 32 × 32 cells; adjust it with Matrix → Set Dimensions....
  2. Fill the matrix with your Z values (each cell is one grid point).
  3. Click the matrix window so it is the active window. The top-level 3D Plot menu in the menu bar becomes available.
  4. Choose a surface style, e.g. 3D Plot → 3D Wire Frame, 3D Plot → 3D Hidden Lines, 3D Plot → 3D Polygons or 3D Plot → 3D Wire Surface.

The same menu offers the 2.5D variants: Contour+Color Fill, Contour Lines and Gray Scale Map draw color-map versions of the matrix data. Double-clicking the plotting area of a contour plot opens the Contour Options dialog for colormap and line settings.

Scattered data? A surface plot needs a regular grid. If your measurements are scattered points, grid them first: select the relevant table columns and use Table → Convert to Matrix, then plot the matrix. SciDAVis does not interpolate scattered points into a grid for you — the gridding step is yours.

Plotting a surface from a formula

For a quick mathematical surface such as z = sin(x)·cos(y), skip the data entirely:

  1. Choose File → New → New Surface 3D Plot (Ctrl+Alt+Z).
  2. The Surface dialog asks for the formula z = f(x, y) plus the X, Y and Z limits. Only Cartesian coordinates are supported.
  3. Click OK to render the surface. You can edit it later by double-clicking the plot.

Rotating, zooming and restyling the plot

Every 3D window has a dedicated 3D Surface toolbar (shown automatically with the plot). The most useful controls are:

  • Rotate / zoom / pan — drag directly in the plot with the mouse. This is the fastest way to inspect a surface.
  • Reset rotation and Fit frame to window — recover a clean default view after experimenting.
  • Frame / Box / No axes and the six grid buttons (front, back, left, right, ceiling, floor) — control which axis frame and wall grids are drawn.
  • Enable perspective — toggles perspective projection on and off.
  • Dots / Cones / Cross Hairs — switch the symbol style of a 3D scatter plot. For cones and cross-hairs you can fine-tune the drawing parameters by double-clicking the plotting area.
  • 3D Wire Frame / 3D Hidden Lines / 3D Polygons / 3D Wire Surface — switch the style of a surface plot after it is created, plus Floor Data Projection and Floor Isolines extras.

Double-clicking anywhere on a 3D plot opens the Surface Plot Options dialog, where you can change the title, axis scales and labels, grids, legend and the colors of the plot elements — the same dialog the Handbook calls the “3D Plots Settings” dialog.

Exporting a 3D plot

With the 3D window active, use File → Export to save the view as an image (PNG, BMP, PDF and others). One honest limitation to know: a 3D export is a raster snapshot of the OpenGL view, not true vector graphics, so export at a large window size if you need the figure for print. For publication-ready 2D figures see our export guide.

Limitations worth knowing

  • 3D plots need a working OpenGL setup. On very old or headless machines the 3D window may render blank; updating your graphics driver usually fixes it.
  • Surface plots require matrix data — three columns of scattered X/Y/Z points cannot be plotted directly as a surface.
  • 3D plots are single-window plots; they cannot be combined into multi-layer 2D graphs.
  • Contour plots derive from matrix data only; double-click the plotting area to reach the Contour Options dialog.

FAQ

Does SciDAVis support 3D scatter plots with three columns?

Yes. Designate the columns with Table → Set Column As → X, → Y and → Z, select the Z column, then choose Plot → 3D Plot → Scatter. The three-column setup is the standard way to feed XYZ data into a 3D scatter plot.

Why is the 3D Plot menu grayed out?

The top-level 3D Plot menu is only active when a matrix window is selected. If a table is active, the menu is unavailable — use Plot → 3D Plot instead. Click the matrix window first to enable the matrix variants.

How do I rotate a 3D plot?

Just drag inside the plot with the mouse (left button rotates). Scroll to zoom and use the middle button to pan. The 3D Surface toolbar’s Reset rotation button restores the default view.

Can I change scatter points from dots to something else?

Yes — with the 3D scatter window active, the 3D Surface toolbar offers Dots, Cones and Cross Hairs styles. For cones and cross-hairs, double-click the plotting area to adjust their drawing parameters.

Next steps

Similar Posts

Leave a Reply

Your email address will not be published. Required fields are marked *