Contour Plot in Polar Coordinates

This example shows how to create a contour plot for data defined in a polar coordinate system.

Display Surface to Contour

Set up a grid in polar coordinates and convert the coordinates to Cartesian coordinates.

th = (0:5:360)*pi/180;
r = 0:.05:1;
[TH,R] = meshgrid(th,r);
[X,Y] = pol2cart(TH,R);

Generate the complex matrix Z on the interior of the unit circle.

Z = X + 1i*Y;

Display a surface of the mathematical function $\sqrt[-4]{z^4-1}$. Use the summer colormap.

f = (Z.^4-1).^(1/4);

figure
surf(X,Y,abs(f))
colormap summer

Display the unit circle beneath the surface and add labels to the graph.

hold on
surf(X,Y,zeros(size(X)))
hold off
xlabel('Real')
ylabel('Imaginary')
zlabel('abs(f)')

Contour Plot in Cartesian Coordinates

Display a contour plot of the surface in Cartesian coordinates.

figure
contour(X,Y,abs(f),30)
axis equal
xlabel('Real')
ylabel('Imaginary')

Contour Plot in Polar Coordinates

Display a contour plot of the surface in a polar axes. Use the polar function to create a polar axes, and then delete the line created with polar.

h = polar([0 2*pi], [0 1]);
delete(h)

With hold on, display the contour plot on the polar grid.

hold on
contour(X,Y,abs(f),30)

See Also

| | | | |

Was this topic helpful?