Matlab怎么绘制雨云图
发表于:2026-10-31 作者:千家信息网编辑
千家信息网最后更新 2026年10月31日,本篇内容主要讲解"Matlab怎么绘制雨云图",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"Matlab怎么绘制雨云图"吧!介绍写了俩代码模板,用来绘制横向
千家信息网最后更新 2026年10月31日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安全错误
数据库的锁怎样保障安全
互联网科技股
南京欣网互联网络科技有限公司
互联网属科技
青岛互联网科技公司
西安互联网科技
互联网科技作文
鑫亿盛互联网科技
科技创新互联网企业
广州善班互联网科技
金融科技和互联网金融
中国最先进互联网科技公司
互联网实体化科技化
江阴互联网智能科技产品进口
合肥互联网科技公司公章图片
山东子淼互联网科技有限公司
梅州GM互联网络科技有限公司
昆明中奇联合互联网科技
艺电能源互联网科技有限公司招聘
求路客互联网科技电话
安徽九吞吴互联网科技有限公司
科技互联网项目
科技企业和互联网企业
苏州大垚互联网科技
掌上梦互联网科技
卓越科技互联网 招聘
美国互联网前沿科技
互联网科技教育视频
速维有品互联网信息科技(苏州)有限公司
中天科技中国工业互联网
利用互联网等科技手段