Tunny Icon
TunnyDocs

The next-gen Grasshopper optimization tool.

Observed Contour

Observed Contour draws how a value is distributed over two axes using only the trials you actually ran (the observed points), shown as a contour / colormap. It is for inspecting the real measured values smoothly joined together — not a model prediction — and it leaves regions with no data blank instead of filling them in.

What it tells you

  • At a glance, see where a value (color) is high or low across two axes (X and Y).
  • Both the axes and the color can be either a parameter or an objective, so you can draw, for example, how a third objective behaves over the combination of two other objectives — an empirically grounded trade-off.
  • Blank areas mean "not yet explored." They are not model-filled estimates, so you can read them honestly as "no data here."

How to read it

  • Color: encodes the value, per the colorbar on the right. The colorbar shows max / mid / min numeric ticks plus the name of the value it represents (the legend title).
  • Blank: no observed points there (or trimmed away by Coverage, below).
  • Dots: the overlaid circles are the actual trials, colored with the same colormap.
  • The subtitle "Interpolated from observed trials; blank = no data" is a reminder that the figure interpolates observed points and does not extrapolate.

Controls

Item Description
X / Y / Value Choose the columns for the horizontal axis, vertical axis, and color, from numeric parameters and objectives.
Coverage Control how far apart points may be before the surface between them is dropped. Smaller values mask sparse regions more strictly, reducing extrapolation, while larger values fill wider areas.
Show points Toggle the overlay of observed trial points.
Contours (2D) Overlay iso-lines to make value levels easier to see.
Log color (2D) Use a logarithmic color scale, only when all values are positive.
3D Show the value as a height surface. Masked blank regions stay as holes, with no extrapolation here either.
Density shade (3D) Fade out cells with few nearby observations to counter the false confidence a glossy 3D surface can invite.
Feasible only In a constrained study, use only feasible, constraint-satisfying trials.

Trial details

In both the 2D and 3D views, hover over an overlaid observed point to see a tooltip with that trial's coordinates and value, and click it to open the trial-detail modal (its parameters, objective values, artifacts, and so on). In 3D this requires Show points to be on; the tooltip is hidden while rotating or panning the camera.

How to read it carefully

  • Blank regions mean "no data" — they are not model predictions.
  • The fewer nearby observations, the less reliable the interpolation (visualized by Density shade in 3D).
  • Selecting the same column for both X and Y is degenerate, so a warning is shown.

Difference from PDP

  • PDP: fits a surrogate model and shows an averaged effect with the other variables marginalized out. It assumes a model and extrapolates into regions with no data.
  • Observed Contour: uses no model, interpolates observed points only, and does not extrapolate — for checking what was actually observed.

How Tunny Dashboard computes this

Observed Contour does not train a surrogate model. Instead, it constructs a 2D or 3D surface directly from observed points. Conceptually, it connects observed points with triangles and applies linear interpolation only inside those triangles. Areas with data appear smooth, while areas without data are not filled by prediction.

1. Preprocessing

From observed points (x,y,v)(x, y, v), points with missing or non-finite X, Y, or value vv are removed. Points that are nearly at the same location are merged, and their value is averaged, to avoid instability in triangulation from near- duplicate points.

Then X and Y are normalized to [0,1][0,1] using the observed ranges:

x=xxminxmaxxmin,y=yyminymaxyminx' = \frac{x - x_{\min}}{x_{\max} - x_{\min}}, \qquad y' = \frac{y - y_{\min}}{y_{\max} - y_{\min}}

This reduces scale imbalance between axes and helps avoid extremely skinny triangles.

2. Interpolation with Delaunay triangulation

The normalized points are triangulated with Delaunay triangulation, which tends to avoid excessively skinny triangles and is well suited for connecting observed points naturally.

Inside each triangle, values are interpolated linearly with barycentric coordinates. For a point pp inside a triangle with vertex values $v_a, v_b, v_c$:

v(p)=λava+λbvb+λcvc,λa+λb+λc=1v(p) = \lambda_a v_a + \lambda_b v_b + \lambda_c v_c, \qquad \lambda_a + \lambda_b + \lambda_c = 1

So each interpolated value is a weighted average of surrounding observed vertices.

Observed Contour does not extrapolate. Regions outside the observed-point hull remain blank, and overly sparse triangles that would connect distant points too aggressively are also left blank.

3. Contour extraction

After interpolation, values are sampled on a grid, and contour lines are extracted from each cell's four corner values with marching squares.

For edge endpoint values a,ba, b and contour level LL, the crossing position on that edge is found by linear interpolation:

t=Labat = \frac{L - a}{b - a}

When tt is between 00 and 11, the contour crosses that edge at that position. Crossing points are connected into contour segments.

If any of the four cell corners is masked, no contour is drawn in that cell, so contours do not extend into regions without data.

4. Density shade

In 3D view, the chart also indicates how strongly the surface is supported by nearby observations. It counts observed points on a grid, smooths that density map with a neighborhood average, then normalizes it to 0..10..1 by dividing by its maximum:

ρnorm(x,y)=ρ(x,y)maxρ\rho_{\mathrm{norm}}(x, y) = \frac{\rho(x, y)}{\max \rho}

This normalized density controls opacity: dense regions are shown more clearly, while sparse regions are more transparent. So even when a surface is visible, transparent areas indicate weaker observational support.