Plot multiple surfaces multisurf(x,y,z,col​or)

Plot multiple surfaces in the same figure, with different colors
474 Downloads
Updated 8 Jun 2016

View License

% MULTISURF(x,y,z,color) plots multiple surfaces with different colors in
% the same figure. The variables x, y and z must be cell array, each element
% containing the data to be plotted. The variable color must be a cell
% array containing the colors of the surfaces, expressed as letter or
% vectors 1x3.
%
% Additional output h = MULTISURF(x,y,z,color) returns a vector
% containing the handles to each surface object.
%
% Example:
% [xs,ys] = meshgrid(1:0.1:2*pi);
% x = {xs xs xs};
% y = {ys ys ys};
% z = {sin(xs) sin(xs/2) sin(xs/10)};
% color = {'r','g',[0 0 1]};
% multisurf(x,y,z,color)
%
% Author: Alessandro Masullo 2015
% http://www.bristol.ac.uk/engineering/people/alessandro-masullo
The code works by changing the CData parameter of the surfaces so that each of them has a unique constant value of CData. A specific colormap created using the user input colors allows different colors for different surfaces.

Cite As

Alessandro Masullo (2024). Plot multiple surfaces multisurf(x,y,z,color) (https://www.mathworks.com/matlabcentral/fileexchange/57550-plot-multiple-surfaces-multisurf-x-y-z-color), MATLAB Central File Exchange. Retrieved .

MATLAB Release Compatibility
Created with R2015a
Compatible with any release
Platform Compatibility
Windows macOS Linux
Acknowledgements

Inspired by: freezeColors / unfreezeColors, export_fig

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!
Version Published Release Notes
1.0.0.0

Change image description

Update description