How can I plot a 2D array using polar coordinates?
Afficher commentaires plus anciens
Hi,
I have a 2D array, with each row representing polar angle 'theta' and each column representing 'value' at paticular radius.
When I use 'imagesc', I got this (x-axis is the radius axis, y-axis is the theta axis)

How can I plot this array in polar coordinates?
2 commentaires
Image Analyst
le 5 Mai 2020
How many rows and columns, and what is the formula relating row number to angle, and column number to radius?
Jiong Yang
le 5 Mai 2020
Réponses (1)
darova
le 5 Mai 2020
Convert your data to cartesian system of coordinates
A = xlsread('data.xlsx');
%%
t = linspace(0,pi/2,size(A,1)); % create angle
r = (1:size(A,2))*0.01; % create radius
[T,R] = ndgrid(t,r); % 2d matrices
[X,Y] = pol2cart(T,R); % polar to cartesian
surf(X,Y,A,'edgecolor','none')
view(2)
2 commentaires
Jiong Yang
le 6 Mai 2020
Ava
le 3 Nov 2023
Hi @Jiong Yang, may I ask how you solved this? I am working on an plotting ozone levels over Antarctica with a 2D array and would like to "imagesc" the data but with the rows and columns representing angle and radius.
Catégories
En savoir plus sur Polar Plots dans Centre d'aide et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!