Matlab怎么绘制雨云图
发表于:2024-10-10 作者:千家信息网编辑
千家信息网最后更新 2024年10月10日,本篇内容主要讲解"Matlab怎么绘制雨云图",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"Matlab怎么绘制雨云图"吧!介绍写了俩代码模板,用来绘制横向
千家信息网最后更新 2024年10月10日Matlab怎么绘制雨云图
本篇内容主要讲解"Matlab怎么绘制雨云图",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"Matlab怎么绘制雨云图"吧!
介绍
写了俩代码模板,用来绘制横向云雨图与纵向云雨图,云雨图其实就是用把小提琴图拆开来的模板,想获取小提琴图绘制函数的可以看这里:基于Matlab绘制小提琴图的示例代码
后面的俩模板用的时候只需要换换数据,颜色及每一类名称即可,雨云图绘制效果如下:
横向雨云图
function rainCloudsTMPL1% @author: slandarer% 在这里放入你的数据=======================================================X1=[normrnd(8,4,1,120),normrnd(5,2,1,25)];X2=[normrnd(2.5,3,1,75),normrnd(6,4,1,25),normrnd(15,1,1,100)];X3=[normrnd(4,3,1,40),normrnd(3,4,1,25)];X4=[normrnd(4,3,1,40),normrnd(2,4,1,75)];dataCell={X1,X2,X3,X4}; % 把数据放到元胞数组,要是数据太多可写循环放入 dataName={'A','B','C','D'}; % 各个数据类的名称,可空着% 颜色列表colorList=[0.9294 0.7569 0.5059 0.9176 0.5569 0.4627 0.7020 0.4784 0.5451 0.4863 0.4314 0.5490]; % =========================================================================classNum=length(dataCell);if size(colorList,1)==0 colorList=repmat([130,170,172]./255,[classNum,1]);else colorList=repmat(colorList,[ceil(classNum/size(colorList,1)),1]);endif isempty(dataName) for i=1:classNum dataName{i}=['class',num2str(i)]; endend% 坐标区域修饰hold onax=gca;ax.YLim=[1/2,classNum+2/3];ax.YTick=1:classNum;ax.LineWidth=1.2;ax.YTickLabels=dataName(end:-1:1);ax.FontSize=14;rate=3.5;% 绘制雨云图for i=1:classNum tX=dataCell{i};tX=tX(:); [F,Xi]=ksdensity(tX); % 绘制山脊图 patchCell(i)=fill([Xi(1),Xi,Xi(end)],0.2+[0,F,0].*rate+(classNum+1-i).*ones(1,length(F)+2),... colorList(i,:),'EdgeColor',[0,0,0],'FaceAlpha',0.8,'LineWidth',1.2); % 其他数据获取 qt25=quantile(tX,0.25); % 下四分位数 qt75=quantile(tX,0.75); % 上四分位数 med=median(tX); % 中位数 outliBool=isoutlier(tX,'quartiles'); % 离群值点 nX=tX(~outliBool); % 95%置信内的数 % 绘制箱线图 plot([min(nX),max(nX)],[(classNum+1-i),(classNum+1-i)],'k','lineWidth',1.2); fill([qt25,qt25,qt75,qt75],(classNum+1-i)+[-1 1 1 -1].*0.12,colorList(i,:),'EdgeColor',[0 0 0]); plot([med,med],[(classNum+1-i)-0.12,(classNum+1-i)+0.12],'Color',[0,0,0],'LineWidth',2.5) % 绘制散点 tY=(rand(length(tX),1)-0.5).*0.24+ones(length(tX),1).*(classNum+1-i); scatter(tX,tY,15,'CData',colorList(i,:),'MarkerEdgeAlpha',0.15,... 'MarkerFaceColor',colorList(i,:),'MarkerFaceAlpha',0.1)end% 绘制图例lgd=legend(patchCell,dataName);lgd.Location='best';end
纵向雨云图
function rainCloudsTMPL2% @author: slandarer% 在这里放入你的数据=======================================================X1=[normrnd(8,4,1,120),normrnd(5,2,1,25)];X2=[normrnd(2.5,3,1,75),normrnd(6,4,1,25),normrnd(15,1,1,100)];X3=[normrnd(4,3,1,40),normrnd(3,4,1,25)];X4=[normrnd(4,3,1,40),normrnd(2,4,1,75)];dataCell={X1,X2,X3,X4}; % 把数据放到元胞数组,要是数据太多可写循环放入 dataName={'A','B','C','D'}; % 各个数据类的名称,可空着% 颜色列表colorList=[0.9294 0.7569 0.5059 0.9176 0.5569 0.4627 0.7020 0.4784 0.5451 0.4863 0.4314 0.5490]; % =========================================================================classNum=length(dataCell);if size(colorList,1)==0 colorList=repmat([130,170,172]./255,[classNum,1]);else colorList=repmat(colorList,[ceil(classNum/size(colorList,1)),1]);endif isempty(dataName) for i=1:classNum dataName{i}=['class',num2str(i)]; endend% 坐标区域修饰hold onax=gca;ax.XLim=[1/2,classNum+2/3];ax.XTick=1:classNum;ax.LineWidth=1.2;ax.XTickLabels=dataName(end:-1:1);ax.FontSize=14;rate=3.5;% 绘制雨云图for i=1:classNum tX=dataCell{i};tX=tX(:); [F,Xi]=ksdensity(tX); % 绘制山脊图 patchCell(i)=fill(0.2+[0,F,0].*rate+(classNum+1-i).*ones(1,length(F)+2),[Xi(1),Xi,Xi(end)],... colorList(i,:),'EdgeColor',[0,0,0],'FaceAlpha',0.8,'LineWidth',1.2); % 其他数据获取 qt25=quantile(tX,0.25); % 下四分位数 qt75=quantile(tX,0.75); % 上四分位数 med=median(tX); % 中位数 outliBool=isoutlier(tX,'quartiles'); % 离群值点 nX=tX(~outliBool); % 95%置信内的数 % 绘制箱线图 plot([(classNum+1-i),(classNum+1-i)],[min(nX),max(nX)],'k','lineWidth',1.2); fill((classNum+1-i)+[-1 1 1 -1].*0.12,[qt25,qt25,qt75,qt75],colorList(i,:),'EdgeColor',[0 0 0]); plot([(classNum+1-i)-0.12,(classNum+1-i)+0.12],[med,med],'Color',[0,0,0],'LineWidth',2.5) % 绘制散点 tY=(rand(length(tX),1)-0.5).*0.24+ones(length(tX),1).*(classNum+1-i); scatter(tY,tX,15,'CData',colorList(i,:),'MarkerEdgeAlpha',0.15,... 'MarkerFaceColor',colorList(i,:),'MarkerFaceAlpha',0.1)end% 绘制图例lgd=legend(patchCell,dataName);lgd.Location='best';end
到此,相信大家对"Matlab怎么绘制雨云图"有了更深的了解,不妨来实际操作一番吧!这里是网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!
数据
雨云
位数
云雨
名称
小提琴
模板
颜色
中位数
代码
内容
区域
图例
坐标
山脊
数组
横向
纵向
线图
要是
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
魔兽世界 服务器不可用
网络安全渗透毕业设计
山东青岛卓尔软件开发
网络安全知识答题网
委托软件开发的增值税
车衣机裁数据库
c连接mysql数据库
川大自主招生网络安全
管家婆服务器怎么连接不上
如何建设经营数据库
卡巴斯基服务器版10
塔式服务器什么牌子
北京软件开发的技术培训
软件开发平台需要做环评吗
整体计算机软件开发教学
人民网络安全宣传片
网络安全 社会效益
科技it 互联网
没有域控服务器怎么管理
网络技术协同
数据库节点知识
srs服务器搭建
如何查看数据库中的表的属性
一个系统分别在两个服务器中部署
查看数据库引擎
php表单存储数据库
安徽合肥区块链软件开发
数据库设计属于系统设计的范畴
广元网络技术市场报价
北大方正工具书资源数据库