【程序设计】散点密度图

【程序设计】散点密度图
我仔细研究了一下,这个图还得根据自己学科以及想做的东西来进行计算,我这个学科更多统计的频率和数量,他们统计的是密度!

本次程序我自己编写,没使用matlab自带函数kdensity,因为我知道我统计的是什么?你知道你统计的是什么才行,所以本次就编写一个,剩下需要你自己根据自己的需求编写!

先看粉丝发的图!
【程序设计】散点密度图_第1张图片
【程序设计】散点密度图_第2张图片
【程序设计】散点密度图_第3张图片
【程序设计】散点密度图_第4张图片
还是那句话重点是数据构造!

做完这个图,我发现和我之前做的南海涡旋统计一样的!

只是画法不一样,请你仔细看!
【程序设计】散点密度图_第5张图片
请看我本次画的: 散点涉及大小的变化,以及根据各自的数据改变大小!

也可以向上图一样:
【程序设计】散点密度图_第6张图片
【程序设计】散点密度图_第7张图片
【程序设计】散点密度图_第8张图片
【程序设计】散点密度图_第9张图片
【程序设计】散点密度图_第10张图片
【程序设计】散点密度图_第11张图片
【程序设计】散点密度图_第12张图片
【程序设计】散点密度图_第13张图片
【程序设计】散点密度图_第14张图片
【程序设计】散点密度图_第15张图片
【程序设计】散点密度图_第16张图片
【程序设计】散点密度图_第17张图片
【程序设计】散点密度图_第18张图片
【程序设计】散点密度图_第19张图片
【程序设计】散点密度图_第20张图片
【程序设计】散点密度图_第21张图片
【程序设计】散点密度图_第22张图片
【程序设计】散点密度图_第23张图片
【程序设计】散点密度图_第24张图片
【程序设计】散点密度图_第25张图片
【程序设计】散点密度图_第26张图片
【程序设计】散点密度图_第27张图片
【程序设计】散点密度图_第28张图片
【程序设计】散点密度图_第29张图片
【程序设计】散点密度图_第30张图片
【程序设计】散点密度图_第31张图片
【程序设计】散点密度图_第32张图片
【程序设计】散点密度图_第33张图片
【程序设计】散点密度图_第34张图片
【程序设计】散点密度图_第35张图片
【程序设计】散点密度图_第36张图片
【程序设计】散点密度图_第37张图片
【程序设计】散点密度图_第38张图片
【程序设计】散点密度图_第39张图片
【程序设计】散点密度图_第40张图片
【程序设计】散点密度图_第41张图片
【程序设计】散点密度图_第42张图片
【程序设计】散点密度图_第43张图片
【程序设计】散点密度图_第44张图片
【程序设计】散点密度图_第45张图片
【程序设计】散点密度图_第46张图片
【程序设计】散点密度图_第47张图片
【程序设计】散点密度图_第48张图片
【程序设计】散点密度图_第49张图片
【程序设计】散点密度图_第50张图片
【程序设计】散点密度图_第51张图片
【程序设计】散点密度图_第52张图片
【程序设计】散点密度图_第53张图片
【程序设计】散点密度图_第54张图片
【程序设计】散点密度图_第55张图片
【程序设计】散点密度图_第56张图片
【程序设计】散点密度图_第57张图片
【程序设计】散点密度图_第58张图片
【程序设计】散点密度图_第59张图片
【程序设计】散点密度图_第60张图片
【程序设计】散点密度图_第61张图片
【程序设计】散点密度图_第62张图片
【程序设计】散点密度图_第63张图片
代码

%% 本次脚本主要解决粉丝需要的散点密度图
%% 看了名称就懂了,就是画散点哈,看了图片也还行
%% 多加个第三维度,给它填色分类填色!
%% 重点没给我数据,那我只能看着图片来构造数据了!
%% 微信公众号:海洋与大气科学
%% 时间:2022年11月10日
% 解释:
% 散点图我们都知道了,能够看出两个变量之间的相关性。
% 有时候数据量较大,怎么办呢,重叠在一起了!
%

clear;clc;close all;
x = randn(5000,1);
y = x * 3 + randn(5000,1);
figure
scatter(x,y,'.')
export_fig 原始.png -r300
%% 以下算出密度
inter1=0.1;
inter2=0.5
x_min=fix(min(x))-1;
y_min=fix(min(y))-1;
x_max=fix(max(x))+1;
y_max=fix(max(y))+1;
%%
xx=x_min:inter1:x_max;
yy=y_min:inter2:y_max;
[xx,yy]=meshgrid(xx,yy);
[m,n]=size(xx);
l=size(x);
%% 算出密度!在这个网格点内我们就加上1;算出共有多少密度!
data=zeros(m,n);
for i=1:l
    ln=fix((x(i)-(x_min))/inter1)+1;
    la=fix((y(i)-(y_min))/inter2)+1;    
    data(la,ln)=data(la,ln)+1;
end
%% 画图
%% 添加colormore
cmap=colormore_45(100);
num=45
figure
contourf(xx,yy,data./sum(data(:)),100,'linestyle','none')
colorbar
colormap(cmap)
export_fig(['填色',num2str(num),'.png'],'-r300') 
%% 
data(find(data==0))=nan;
figure
contourf(xx,yy,data,200,'linestyle','none')
colorbar
colormap(cmap)
export_fig(['填色2',num2str(num),'.png'],'-r300') 
%%
% Plot scatter plot
sumdata=sum(data(:));
data(find(data==0))=nan;
x_new=reshape(xx,m*n,1);
y_new=reshape(yy,m*n,1);
z_new=reshape(data,m*n,1);

%% 散点大小 26
figure
h = scatter(x_new,y_new,26,z_new,'filled');
colorbar
colormap(cmap)
export_fig(['散点26',num2str(num),'.png'],'-r300') 
%% 散点大小 16
figure
h = scatter(x_new,y_new,16,z_new,'filled');
colorbar
colormap(cmap)
export_fig(['散点16',num2str(num),'.png'],'-r300') 
%% 散点大小 36
figure
h = scatter(x_new,y_new,16,z_new,'filled');
colorbar
colormap(cmap)
export_fig(['散点36',num2str(num),'.png'],'-r300') 
%% 散点大小 361
figure
h = scatter(x_new,y_new,z_new,z_new,'filled');
colorbar
colormap(cmap)
export_fig(['散点361',num2str(num),'.png'],'-r300') 








原创转载标注来源!谢谢!

你可能感兴趣的:(matlab,算法,开发语言)