This bug has been fixed sometime in the last 2 years. Verified on Mercurial revision 16290:d07aeecb2d22.

I've put together an example that indicates gnuplot can do the job, but that there is something wrong (in _go_draw_axes_, I assume).
Gnuplot is able to produce the colored triangulated patches, but the coloring isn't correct.

I've been looking at how 3D triangular patches work and don't understand why the change to _go_draw_axes_ doesn't produce the correct result, so I haven't pushed it yet.

Did you also apply the patch for gnuplot? I tried
And I still get the originally reported error, not the green result.

I've modified trisurf to produce an image compatible with matlab.
http://hg.savannah.gnu.org/hgweb/octave/rev/482cf3aad915
(1) Gnuplot still only produces a green result.
(2) the clim values are still not correct.

I've attached the plot I get from Matlab.
With the changeset included, the FLTK version has two problems.
(1) The color limits are not updated correctly.
(2) The edgecolor has not been set to black.
Regarding GNUPLOT, I recall there are some limits to what can be done for 3D patches.
I think it was David Batemann who worked on 3D triangulated patches (as is used by isosurface). The original threat on this is below. I've cc'd David. Perhaps he can tell us if the 3D triangulated patches can have different colors and colored edges.
http://octave.1599824.n4.nabble.com/basicimplementationforisosurfaceisocolorsisonormalstt1654636.html#none
(file #22963)

Although the patch allows Octave to plot with trisurf, the actual plot produced is quite different (single green color) from the one produced with FLTK. I'm attaching two scripts to generate the figures and two png images of the plots.
(file #22958, file #22959, file #22960, file #22961)

I've attached a chageset.
I'm not sure this is a proper solution, but this fixes the error for me.
(file #22957)

Confirmed on a recent development tip as well (12516:3d6584617da0).

When calling trisurf with gnuplot toolkit with something like
> x = rand(100, 1); y = rand(100, 1); z = x.^2 + y.^2;
> tri = delaunay(x, y);
> graphics_toolkit('gnuplot');
> trisurf(tri, x, y, z);
it results in
error: _go_draw_axes_: operator *: nonconformant arguments (op1 is 0x0, op2 is 3x1)
error: called from:
error: /workspace/LOCAL/OCTAVE/octave3.4.0/scripts/plot/__go_draw_axes__.m at line 649, column 30
error: /workspace/LOCAL/OCTAVE/octave3.4.0/scripts/plot/__go_draw_figure__.m at line 167, column 19
error: /workspace/LOCAL/OCTAVE/octave3.4.0/scripts/plot/__gnuplot_drawnow__.m at line 86, column 5
This is new to 3.4.0, the 3.2.x series works as expected. Using trisurf with FLTK toolkit in 3.4.0 also works as expected.
If this bug is fixed could you please add a test or demo in trisurf.m performing the above sequence of commands for both backends.
