Plot multiple surfaces multisurf(x,y,z,color)
% 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
Platform Compatibility
Windows macOS LinuxCategories
- MATLAB > Graphics > Formatting and Annotation > Colormaps >
- MATLAB > Graphics > 2-D and 3-D Plots > Surfaces, Volumes, and Polygons > Surface and Mesh Plots >
Tags
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!Discover Live Editor
Create scripts with code, output, and formatted text in a single executable document.
Version | Published | Release Notes | |
---|---|---|---|
1.0.0.0 | Change image description Update description |