How can I plot 3D polar plot in MATLAB

148 Ansichten (letzte 30 Tage)
john pappachen
john pappachen am 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,

Akzeptierte Antwort

Star Strider
Star Strider am 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 Kommentare
Alexi
Alexi am 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 am 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.
.

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (1)

Juan Esteban Villegas
Juan Esteban Villegas am 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 Kommentare
Juan Esteban Villegas
Juan Esteban Villegas am 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 am 4 Mai 2023
Thank you for responding Juan, But how to get from a table of values or excel.

Melden Sie sich an, um zu kommentieren.

Kategorien

Mehr zu Polar Plots finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by