Contour2Area

Gives the area of polygons from the matlab function C=contour(x,y,z) and their centroids.
2.2K Downloads
Updated 26 Jan 2010

View License

Gives the area of the polygons that are created from the matlab function C=contour(x,y,z,...); It also gives the centroids (centre of mass) of each polygon. The structure of C delivered by contour is a bit complicated to work with itself, why I developed this matlab function.

Syntax: [Area,Centroid,IN]=Contour2Area(C)
Takes the contour argument C from matlabs function contourc
as produced by C=contour(x,y,z,...) and convert the contours
to closed polygons from where the areas are calculated.
In addition the centroids (centre of mass) Cxy are calculated
and a matrix IN determining the parent/child relationship
between the contours (if polygon i is inside j then IN_ij=1, else=0).
For obscure contours NaN would be retrived, but are excluded in output.
%
Created By: Per Sundqvist 2010-01-26, ABB/CRC, Västerås/Sweden.
%
%--- Example ---
[X,Y,Z] = PEAKS(50);
figure(1), clf;
%C=contourf(X,Y,Z,0.37+[0 0]);
C=contourf(X,Y,Z,5);
[Area,Centroid,IN]=Contour2Area(C);
xc=Centroid(1,:);yc=Centroid(2,:);
hold on;plot(xc,yc,'k*');
Area
IN

Cite As

Per Sundqvist (2026). Contour2Area (https://www.mathworks.com/matlabcentral/fileexchange/26480-contour2area), MATLAB Central File Exchange. Retrieved .

MATLAB Release Compatibility
Created with R2008b
Compatible with any release
Platform Compatibility
Windows macOS Linux
Version Published Release Notes
1.0.0.0