Tiling Two Surfaces

This chart is almost always used to illustrate a computed mathematical surface, and could often be combined with a Cloudchart to show a theoretical model overlayed with raw data values.

In the simplest case it takes a rectangular array of arrays of Z-values (effectively a matrix) and treats these as a uniform mesh to be plotted vertically with equally spaced x and y values. An option is to provide either or both of the x and x values as arrays of the correct length, to draw the mesh on a non-uniform scale.

Tiled surfaces are most effectively drawn with semi-transparent fill styles, to allow the axes and any data to show through.

This example shows two intersecting planes, each drawn with 30% opacity.

ResponsePlot3
SharpPlot sp = new SharpPlot();
mesh = new int[][]{new int[]{8,7,6,5,4,3},new int[]{12,11,10,9,8,7},new int[]{16,15,14,13,12,11}};
sp.SetMargins(48,12,24,0);
sp.Heading = "Tiled Surface with Contours";

sp.ResponsePlotStyle = ResponsePlotStyles.WallShading|ResponsePlotStyles.GridLines|
    ResponsePlotStyles.TiledSurface|ResponsePlotStyles.Contours;

sp.SetFillStyles(FillStyle.Opacity42);
sp.SetContourStyle(Color.Navy,LineStyle.Dash,1.5);

sp.DrawResponsePlot(mesh);

See also

ResponsePlot1 ResponsePlot2 ResponsePlot3 ResponsePlot4