当前位置: 首页 > news >正文

MATLAB画散点密度图(附代码和测试数据的压缩包)

1. 有关 Matlab 获取代码关注WZZHHH回复关键词,或者咸鱼关注:WZZHHH123

     怀俄明探空站数据解算PWV和Tm:怀俄明探空站数据解算PWV和Tm

     怀俄明多线程下载探空站数据(包括检查和下载遗漏数据的代码):怀俄明多线程下载

     对IGRAv2进行质量控制得到PWV和Tm的 matlab 代码:IGRAv2进行质量控制得到PWV和Tm

     算 IGRAv2 探空站的 Tm 和 PWV:IGRAv2计算Tm和PWV

     提取探空站 IGRAv2 全部数据:

     ERA5 解算合集(温度、气压、PWV、水汽压和 Tm)代码获取:ERA5合集

MATLAB画散点密度图

      代码、测试数据的压缩包在文末,可自行下载测试出图效果

散点误差图出图效果

图片

代码如下

具体使用,请自行修改

function scatter_plot(x,y,derror)
% 点状密度图
% 根据测试数据画的,实际应用自己修改
% --------------------改变密度大小------------------
numbins = 50;
% --------------------------------------------------X =x;
Y =y;
% 找到最大值最小值
MaxSP=max(x);MaxV=max(y);Maxi=1.1*max(MaxSP,MaxV);[values, centers] = hist3([X Y], [numbins numbins]);
centers_X = centers{1,1};
centers_Y = centers{1,2};
binsize_X = abs(centers_X(2) - centers_X(1)) / 2;
binsize_Y = abs(centers_Y(2) - centers_Y(1)) / 2;
bins_X = zeros(numbins, 2);
bins_Y = zeros(numbins, 2);
for i = 1:numbinsbins_X(i, 1) = centers_X(i) - binsize_X;bins_X(i, 2) = centers_X(i) + binsize_X;bins_Y(i, 1) = centers_Y(i) - binsize_Y;bins_Y(i, 2) = centers_Y(i) + binsize_Y;
end
scatter_COL = zeros(length(X), 1);
onepercent = round(length(X) / 100);
for i = 1:length(X)if (mod(i,onepercent) == 0)fprintf('.');endlast_higher_X = NaN;id_X = NaN;c_X = X(i);last_lower_X = find(c_X >= bins_X(:,1));if (~isempty(last_lower_X))last_lower_X = last_lower_X(end);elselast_higher_X = find(c_X <= bins_X(:,2));if (~isempty(last_higher_X))last_higher_X = last_higher_X(1);endendif (~isnan(last_lower_X))id_X = last_lower_X;elseif (~isnan(last_higher_X))id_X = last_higher_X;endendlast_higher_Y = NaN;id_Y = NaN;c_Y = Y(i);last_lower_Y = find(c_Y >= bins_Y(:,1));if (~isempty(last_lower_Y))last_lower_Y = last_lower_Y(end);elselast_higher_Y = find(c_Y <= bins_Y(:,2));if (~isempty(last_higher_Y))last_higher_Y = last_higher_Y(1);endendif (~isnan(last_lower_Y))id_Y = last_lower_Y;elseif (~isnan(last_higher_Y))id_Y = last_higher_Y;endendscatter_COL(i) = values(id_X, id_Y);
end% 拟合曲线
a=polyfit(x,y,1);
ax=linspace(0,Maxi+10,2000);
ay=a(1)*ax+a(2);Str_yx=['Y = ',num2str(round(a(1),2)),'*X +',num2str(round(a(2),2))];scatter(x, y, 20, scatter_COL, '.' );
hold oncolormap('jet');
colorbar;xlabel('GNSS-PWV/mm','FontSize',12,'FontName','Times New Roman');
ylabel('ERA5-PWV/mm','FontSize',12,'FontName','Times New Roman');bx = linspace(0,120,2000);% 设置xy轴的界限
% xlim([0 120]);ylim([0 120]);% 把误差表示在图上,位置根据自己需要改,我这是根据测试数据填的
text(5,115,Str_yx,'FontSize',12,'FontName','Times New Roman')
text(5,107,['Bias = ',num2str(round(100*derror(1))/100,'%.2f')],'FontSize',12,'FontName','Times New Roman')
text(5,99,['RMSE = ',num2str(round(100*derror(2))/100,'%.2f')],'FontSize',12,'FontName','Times New Roman')
text(5,91,['Cor = ',num2str(derror(3),'%.2f')],'FontSize',12,'FontName','Times New Roman')% 画拟合曲线
plot(ax,ay,'r')
hold on% 画对角线
plot(bx,bx,'k');
hold ontitle('测试数据','FontSize',12)
box on
grid onset(gca,'LineWidth',1.2)
end

压缩包地址如下:

      压缩包里面的内容:

图片

      压缩包地址:

      关注: WZZHHH,回复 MATLAB画散点密度图

>.< 有问题,请你问你的老师,师兄师姐。我也挺忙的。

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 14.FineReport制作带筛选按钮的报表和图表
  • Golang | Leetcode Golang题解之第295题数据流的中位数
  • 编程语言「描述符」漫谈——以C++与Rust为例的行为声明与类型描述
  • 【Go - mongodb - bson / schema】
  • mcasttest-tool组播检测工具
  • linux shell(中)
  • Flink中三种模式:YARN Session 模式、YARN Per-Job 模式和 YARN Application 模式提交任务命令
  • XML 和 SimpleXML 入门教程
  • 某视频平台关键 so vm 解释器还原
  • 解析大数据分析行业的现状与前景:全球视角下的中国力量
  • Windows 环境 batch 脚本实现 PG 数据库恢复功能
  • 从代码层面熟悉UniAD,开始学习了解端到端整体架构
  • 【软件测试】--接口测试
  • WordPress主题追格企业官网主题免费开源版V1.1.6
  • 【剑指offer】
  • 【前端学习】-粗谈选择器
  • Apache Spark Streaming 使用实例
  • Flex布局到底解决了什么问题
  • flutter的key在widget list的作用以及必要性
  • jquery ajax学习笔记
  • macOS 中 shell 创建文件夹及文件并 VS Code 打开
  • Vue ES6 Jade Scss Webpack Gulp
  • vue-router 实现分析
  • vue自定义指令实现v-tap插件
  • 成为一名优秀的Developer的书单
  • 创建一种深思熟虑的文化
  • 从@property说起(二)当我们写下@property (nonatomic, weak) id obj时,我们究竟写了什么...
  • 给初学者:JavaScript 中数组操作注意点
  • 关于List、List?、ListObject的区别
  • 看完九篇字体系列的文章,你还觉得我是在说字体?
  • 每天一个设计模式之命令模式
  • 前端存储 - localStorage
  • 让你成为前端,后端或全栈开发程序员的进阶指南,一门学到老的技术
  • 使用agvtool更改app version/build
  • 学习ES6 变量的解构赋值
  • 移动端唤起键盘时取消position:fixed定位
  • - 转 Ext2.0 form使用实例
  • ​​​​​​​开发面试“八股文”:助力还是阻力?
  • ​中南建设2022年半年报“韧”字当头,经营性现金流持续为正​
  • ‌JavaScript 数据类型转换
  • #控制台大学课堂点名问题_课堂随机点名
  • (4)(4.6) Triducer
  • (day18) leetcode 204.计数质数
  • (HAL库版)freeRTOS移植STMF103
  • (java)关于Thread的挂起和恢复
  • (Java实习生)每日10道面试题打卡——JavaWeb篇
  • (JS基础)String 类型
  • (MonoGame从入门到放弃-1) MonoGame环境搭建
  • (Oracle)SQL优化技巧(一):分页查询
  • (zz)子曾经曰过:先有司,赦小过,举贤才
  • (附源码)c#+winform实现远程开机(广域网可用)
  • (附源码)springboot车辆管理系统 毕业设计 031034
  • (附源码)计算机毕业设计SSM在线影视购票系统
  • (三)Kafka 监控之 Streams 监控(Streams Monitoring)和其他
  • (三)uboot源码分析