3-D plot in Matlab
14 次查看(过去 30 天)
显示 更早的评论
Hi,
I have a set of data from my antenna measurement such as azimuth, elevation and amplitude.
Is there any feature in matlab that I can use to do 3-D plot with those three data?
Thanks
3 个评论
Chibuzo Nnonyelu
2018-1-27
Ok. Sorry for late response. I had attached a function for that. The function produces a 3-D plot in the spherical Cartesian coordinates.
回答(1 个)
Chibuzo Nnonyelu
2017-2-23
You can modify this function to work for you:
function plotsphere(azimuth, elevation, amplitude)
[X, Y, Z] = sph2cart(azimuth, elevation, amplitude);
grid on;
plot3(X, Y, Z, 'MarkerSize', 6,'Color', 'b','Marker', '.',...
'LineStyle', 'none'); hold on;
set(gca, 'xlim',[-2 2], 'ylim', [-2 2], 'zlim', [-2 2], 'Fontsize', 16);
nA = max([max(abs(X)) max(abs(Y)) max(abs(Z))]);
view(178, 10);
aL = max(nA);
lOffset = 0.05;
aLimit = [-aL-lOffset aL+lOffset];
set(gca, 'xlim', aLimit, 'ylim', aLimit, 'zlim', aLimit, 'Fontsize', 16);
%drawing the axes's lines
line(aLimit,[0,0],[0, 0],'linewidth',4,'color',[0,0,0]); %x-axis
line([0,0],aLimit,[0, 0],'linewidth',4,'color',[0,0,0]); %y-axis
line([0,0],[0,0],aLimit,'linewidth',4,'color',[0,0,0]); %z-axis
%labeling the axes
text(aLimit(2) + 0.05, 0, 0,'x','fontsize',18,'horizontalalignment','center', 'Interpreter', 'latex');
text(0, aLimit(2) + 0.05, 0,'y','fontsize',18,'horizontalalignment','center', 'Interpreter', 'latex');
text(0, 0, aLimit(2) + 0.05,'z','fontsize',18,'horizontalalignment','center', 'Interpreter', 'latex');
grid on;
%suppressing original x, y, axis
set(gca, 'XTick',[], 'ZTick',[], 'YTick',[], 'XColor', 'w', 'YColor', 'w', 'ZColor', 'w');
axis square;
end
0 个评论
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Analysis, Benchmarking, and Verification 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!