How can I plot 3D polar plot in MATLAB

111 vues (au cours des 30 derniers jours)
john pappachen
john pappachen le 12 Sep 2017
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,

Réponse acceptée

Star Strider
Star Strider le 12 Sep 2017
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 commentaires
Alexi
Alexi le 14 Jan 2023
Hi thanks for your reply, How can we print the magnitudes of the values ​​of the points on the points?
Star Strider
Star Strider le 14 Jan 2023
@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.
.

Connectez-vous pour commenter.

Plus de réponses (1)

Juan Esteban Villegas
Juan Esteban Villegas le 26 Mai 2021
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 commentaires
Juan Esteban Villegas
Juan Esteban Villegas le 3 Mai 2023
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)
hema vardhan patti
hema vardhan patti le 4 Mai 2023
Thank you for responding Juan, But how to get from a table of values or excel.

Connectez-vous pour commenter.

Catégories

En savoir plus sur Polar Plots dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by