Matlab极坐标下热力图的等值线绘制

先看效果:

在这里插入图片描述


背景:

之前的小论文用contourf画极坐标下的风险地图,
然后导师说试试换成contour画,
在极坐标下绘制等值线。
然后 … 我就在茫茫知识的海洋中寻找,,,

找到了,是python的代码,完蛋,不精通
找到了,是matlab的contourpolor函数,完蛋,我的2021a没有
找到了,csdn上下载的contourpolor函数,完蛋,用不了

无解,,,活人还能让尿憋死 ?
万丈高楼平地起,开发还得靠自己

做CSDN中在极坐标下土法绘制contour的第一人


思路:

1、利用直角坐标系用contour函数绘制
2、获取contour等值线的结果圈
3、新figure建立极坐标系
4、然后将步骤二的数据画在新figure上


上代码:

figure(3)
[C, h] = contour(X1, X2, YX,8)
h = colorbar;
    set(h,'FontName','Times New Roman','Fontsize',15); % 给颜色栏命名
    set(get(h,'label'),'string','PCR','FontName','Times New Roman','Fontsize',18); % 给颜色栏命名

% close(gcf);
xcoords = {};ycoords = {};zvalues = {};
qq = 1;   % 解析等高线矩阵 C
while qq < size(C,2)
    z_level = C(1,qq);
    num_points = C(2,qq);
    xcoords{end+1} = C(1, qq+1:qq+num_points);
    ycoords{end+1} = C(2, qq+1:qq+num_points);
    zvalues{end+1} = z_level * ones(1, num_points);
    qq = qq + num_points + 1;
end

figure(4)

G = polarscatter(theta,rho+20,ss,z,'filled');hold on
h = colorbar;
    set(h,'FontName','Times New Roman','Fontsize',15); % 给颜色栏命名
    set(get(h,'label'),'string','PCR','FontName','Times New Roman','Fontsize',18); % 给颜色栏命名
for qqq = 1:size(xcoords,2)
    [theta__, rho__] = cart2pol(xcoords{qqq},ycoords{qqq});hold on
    zzz = zvalues{qqq}
    target_value = zzz(1)

    cmap = colormap;
    num_colors = size(cmap, 1);
    index = floor((target_value-min(z))/(max(z)-min(z))*num_colors)

    rgb_value = cmap(index, :);
    polarplot(theta__, rho__,'color',rgb_value);hold on
    rlim([0 max(maxmin)])
end

    pas = gca;
    thetaticks(0:30:360);
    thetaticklabels({'90', '60', '30', '0', '330', '300', '270', '240', '210', '180', '150', '120'});
    set(gca,'RAxisLocation',0); %设置半径坐标轴位置
    set(gca,'linewidth',0.75,'Fontsize',15);



总结

如果本篇文章对您有用的话,欢迎点赞收藏噢,谢谢谢谢,哈哈哈哈哈哈!!
如需帮助或要原数据的,请加扣联系:1097522625

主页还有更加丰富的内容噢 O(∩_∩)O :
Matlab 地理(经纬度)坐标 转 笛卡尔(直角)坐标
Matlab 土法求航海DCPA和TCPA,并根据DCPA正负判断目标船过本船船首or船尾
基于Matlab雷达视窗的来船运动矢量绘制
Matlab 沿着曲线的动态图制作
Matlab改进埃尔米特(Hermite)分段三次插值——(可在pchip函数中自定义导数值)
Matlab 四元素船舶领域代码复现
Matlab图片曲线数据提取
Matlab 极坐标下热力图的等值线绘制

  • 4
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值