三维极坐标图

用极轴和极网格绘制三维极数据

23.2 k下载

更新2016年3月4日

查看许可协议

编者按:该文件被选为MATLAB Central本周精选

Polarplot3d为三维极坐标数据生成曲面、网格、线框和轮廓图。标记的极轴以固定高度绘制,也可以以最大半径跟随表面轮廓。极坐标网格也可以绘制在表面的顶部。
该功能基于J De Freitas的polar3d,文件交换ID 7656。
输入参数是一个大小矩阵Zp和一组修改默认绘图行为的属性值对。Zp的每一列包含沿一条半子午线的信息,每一行给出沿圆弧的高度值。默认情况下,假设Zp沿每一列的半径增加,沿每一行的角度(逆时针)增加。默认的绘图是在单位半径的圆上绘制的。
'RadialRange'和'AngularRange'属性可以用来指定绘制数据的上、下角度和径向值。利用角度和径向距离向量的相对排序来确定Zp的行和列的角度和径向方向感。或者,可以指定一个矢量,给出每一行或每一列的位置。

极轴可以放置在Zp的最小值、最大值或平均值处,在最大半径处,在绘图框的顶部或底部,在用户指定的位置,或者它可以沿着数据周长的表面。极轴刻度间距可以通过“TickSpacing”属性进行调整。

默认的极轴方向是0度沿着+X轴,增加的角度是逆时针的。“PolarDirection”属性可用于将其更改为罗盘样式的图,沿+Y轴为零度,并在极点周围顺时针方向增加角度。

默认的表面着色是根据Zp中的值。这可以通过提供与Zp大小相同的矩阵作为'ColorData'属性的值来改变。

可以指定缩放参数来将数据插值到更细或更粗的网格上。输出的笛卡尔数据以三个矩阵的形式返回。

屏幕截图中的示例图是用以下命令生成的。

(t, r) = meshgrid (linspace(0, 2 *π,361),linspace (4101);
[x,y] = pol2cart(t,r);
P = peaks(x,y);%的峰值函数在极网格上

绘制3d极坐标图
图(“颜色”,“白色”,“NumberTitle”,“关闭”,“名字”,“PolarPlot3d v4.3中”);
polarplot3d (P,‘PlotType’,‘surfn’,‘PolarGrid’,{4 24},TickSpacing, 8日……
“AngularRange”,[270]*π/ 180,“RadialRange”,(。8 4],……
“RadLabels”3“RadLabelLocation”,“max”{180},‘RadLabelColor’,‘红色’);

%设置绘图属性
集(gca、“DataAspectRatio”,[1 1 10],“视图”,(-12年38),…
'Xlim',[-4.5 4.5],'Xtick',[-4 -2 0 24],…
'Ylim',[-4.5 4.5],'Ytick',[-4 -2 0 24]);
标题(“polarplot3d示例”);

zip文件包含polarplot3d函数和一个带有示例图的m文件。

引用作为

肯·加拉德(2023)。三维极坐标图(//www.tatmou.com/matlabcentral/fileexchange/13200-3d-polar-plot), MATLAB中央文件交换。检索

MATLAB版本兼容性
使用R2016a创建
与任何版本兼容
平台的兼容性
窗户 macOS Linux

社区寻宝

在MATLAB Central中寻找宝藏,并了解社区如何帮助您!

开始狩猎!
版本 发表 发布说明
1.2.0.0

将可选的'PlotProps'单元格参数替换为'property',值列表,并添加'RadLabels', 'RadLabelLocation'和'RadLabelColor'属性。
MathWorks更新:添加了Live Script。

1.1.0.0

此更新支持输入数据矩阵的金宝app行和列的非均匀间距,允许对极网格覆盖进行更多控制,并消除对PARSE_PV_PAIRS的依赖。

1.0.0.0

增加了表面着色性能。