How can I plot 3D polar plot in MATLAB

I have three values, azimuth, elevation and corresponding data points. is it possible to plot 3D polar plot using this three values. and 1 want to show the third value in colour. I am looking forward to hear your suggestions. A sample data is attaching herewith
Thanking You,

 Accepted Answer

There may be File Exchange contributions for 3D polar plots. It is possible to use the sph2cart function to plot your data in 3D, however in Cartesian coordinates, so losing the angle data in the plot.
A 2D polar plot with the values in scaled colour is not difficult to code using the polarscatter function (in R2016b and later):
D = load('data.txt');
Az = D(:,1);
El = D(:,2);
Rd = D(:,3);
cn = ceil(max(El)); % Number Of Colors
cm = colormap(jet(cn));
figure(2)
polarscatter(Az*pi/180, Rd, [], cm(fix(El),:), 'filled')
grid on
Tbis colours the points by the value of ‘El’. Here, since the maximum ‘El’ value defines 21 colours, no scaling of it is needed. In other situations (very high or very low maximum values), scaling would be necessary to get adequate colour definition.

5 Comments

My pleasure.
If my Answer helps you solve your problem, please Accept it!
hello,
please i have a 48x18 Matrix. the first columb ist the azimuth, the second ist the elongation and the rest of the columbs are my data. i want to plot each datacolum a 3d-plot but i am trying it since two week without succes
can you helpme please ( i am knew in matlab)
thank you
Hi thanks for your reply, How can we print the magnitudes of the values ​​of the points on the points?
@Alexi — Use the text function. See the documentation section on Input Arguments.
@Freddy Ngankam — You would likely need to use the pol2cart function, and then plot them in Cartesian coordinates.
.

Sign in to comment.

More Answers (1)

Hey I made this function to plot a scatter 3d plot, it is rather raw but it does the job maybe you can modify it to make it better.
Best
Juan

3 Comments

Hey, I really need the syntax for this plot. Will help me a lot in my thesis
Hey Hema, you can use something like:
theta = linspace(0,10*pi,401);
phi = linspace(-pi/2,pi/2,401);
rho = linspace(1,1,401);
polarscatter3(theta,phi,rho,'x','r','LineWidth',0.5)
Thank you for responding Juan, But how to get from a table of values or excel.

Sign in to comment.

Categories

Community Treasure Hunt

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

Start Hunting!