Bootstrap

Matlab进阶绘图第54期—密度散点图(概率密度版)

在之前的文章中,分享过Matlab密度散点图的绘制方法

此版内容用到了一些点云数据处理中求取密度的知识,对部分人来说,可能有些不好理解。

于是,本期内容使用Matlab自带的ksdensity函数进行密度散点图(概率密度版)的绘制,先来看一下成品效果:

顺带一提,第二个图看起来和第一个不同,是因为用的默认带宽bandwidth参数(对应第一个的半径参数),改一改的话,其实差不多。

所以哪个好理解选哪个吧。

特别提示:本期内容『数据+代码』已上传资源群中,加群的朋友请自行下载。有需要的朋友可以关注同名公号【阿昆的科研日常】,后台回复关键词【绘图桶】查看加入方式


1. 数据准备

此部分主要是读取原始数据并初始化绘图参数

% 读取数据load data.mat% 初始化绘图参数data = [x,y];% 计算概率密度density_2D = ksdensity([data(:,1),data(:,2)],[data(:,1),data(:,2)]);

2. 颜色定义

作图不配色就好比做菜不放盐,总让人感觉少些味道。

但颜色搭配比较考验个人审美,需要多加尝试。

这里直接使用TheColor配色工具中的SCI权威配色库

map = TheColor('sci',2097);% map = flipud(map);

3. 密度散点图(概率密度版)绘制

调用‘scatter’命令,绘制初始密度散点图

scatter(data(:,1), data(:,2), 5, density_2D, 'filled')hTitle = title('Satellite-derived bathymetry');hXLabel = xlabel('ICESat-2 bathymetric points in depth (m)');hYLabel = ylabel('Estimated depth (m)');

然后再对一些细节进行修饰,并输出保存:

以上。

;