Matlab怎么实现带竖线散点的核密度图绘制
导读:本文共3772字符,通常情况下阅读需要13分钟。同时您也可以点击右侧朗读,来听本文内容。按键盘←(左) →(右) 方向键可以翻页。
摘要:这篇“Matlab怎么实现带竖线散点的核密度图绘制”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“Matlab怎么实现带竖线散点的核密度图绘制”文章吧。带竖线散点的核密度图绘制模板今天带来一个带竖线散点的核密度图绘制模板,作为模板,想要画出属于自己的图,需要修改的就只有数据,格式,配色... ...
目录
(为您整理了一些要点),点击可以直达。这篇“Matlab怎么实现带竖线散点的核密度图绘制”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“Matlab怎么实现带竖线散点的核密度图绘制”文章吧。
带竖线散点的核密度图绘制模板
今天带来一个带竖线散点的核密度图绘制模板,作为模板,想要画出属于自己的图,需要修改的就只有数据,格式,配色三样,以下给出模板使用详细讲解:
part1 数据
这里的数据需要通过Data(n).X=...
的格式设置,例如,三组数据:
%导入数据,更多的数据也请使用%Data(n).X=......的格式Data(1).X=mvnrnd(40,60,300);Data(2).X=mvnrnd(60,60,600);Data(3).X=mvnrnd(80,60,900);
五组数据(数据组数超过五组则后期需要设置更长的配色):
%导入数据,更多的数据也请使用%Data(n).X=......的格式Data(1).X=mvnrnd(40,60,300);Data(2).X=mvnrnd(60,60,600);Data(3).X=mvnrnd(80,60,900);Data(4).X=mvnrnd(100,60,1200);Data(5).X=mvnrnd(120,60,1200);
这部分代码里用的是随机生成的正态分布,可以将其更改为自己的数据。
part2 格式
有俩基础格式:
%一些基础设置scatterSep='off';%是否分开绘制竖线散点totalRatio='off';%是否各组按比例绘制
totalRatio
属性能调节各组图像是否各组按比例绘制,如果将其设置为on
:
scatterSep
属性能调节是否分开绘制竖线散点,如果将其设置为on
:
part3 配色
这里准备了八组数据,只需要修改colorList=Cn
即可:
%配色列表C1=[2114343;6196137;24920661;7610386;808080]./255;C2=[102,173,194;36,59,66;232,69,69;194,148,102;54,43,33]./255;C3=[244,241,222;223,122,94;606491;130178154;240201134]./255;C4=[126,15,4;122,117,119;255,163,25;135,146,73;30,93,134]./255;C5=[198,199,201;38,74,96;209,80,51;241,174,44;12,13,15]./255;C6=[235,75,55;77,186,216;2,162,136;58,84,141;245,155,122]./255;C7=[23,23,23;121,17,36;44,9,75;31,80,91;61,36,42]./255;C8=[47,62,66;203,129,70;064115;152,58,58;207283]./255;colorList=C2;
C1:
C2:
C3:
C4:
C5:
C6:
C7:
C8:
part4 模板完整代码
%linearea%@author:slandarer%@公众号:slandarer随笔clc;clear%导入数据,更多的数据也请使用%Data(n).X=......的格式Data(1).X=mvnrnd(40,60,300);Data(2).X=mvnrnd(60,60,600);Data(3).X=mvnrnd(80,60,900);Data(4).X=mvnrnd(100,60,1200);Data(5).X=mvnrnd(120,60,1200);%一些基础设置scatterSep='off';%是否分开绘制竖线散点totalRatio='on';%是否各组按比例绘制%配色列表C1=[2114343;6196137;24920661;7610386;808080]./255;C2=[102,173,194;36,59,66;232,69,69;194,148,102;54,43,33]./255;C3=[244,241,222;223,122,94;606491;130178154;240201134]./255;C4=[126,15,4;122,117,119;255,163,25;135,146,73;30,93,134]./255;C5=[198,199,201;38,74,96;209,80,51;241,174,44;12,13,15]./255;C6=[235,75,55;77,186,216;2,162,136;58,84,141;245,155,122]./255;C7=[23,23,23;121,17,36;44,9,75;31,80,91;61,36,42]./255;C8=[47,62,66;203,129,70;064115;152,58,58;207283]./255;colorList=C2;%=========================================================================%图像绘制ax=gca;holdonN=length(Data);areaHdl(N)=nan;lgdStrs{N}='';%计算各类数据量K=arrayfun(@(x)length(x.X),Data);%循环绘图forn=1:N[f,xi]=ksdensity(Data(n).X);ifstrcmp(totalRatio,'on')f=f.*K(n)./sum(K);endareaHdl(n)=area(xi,f,'FaceColor',colorList(n,:),...'EdgeColor',colorList(n,:),'FaceAlpha',.5,'LineWidth',1.5);lgdStrs{n}=['Group',num2str(n)];end%绘制图例lgd=legend(areaHdl,lgdStrs{:});lgd.AutoUpdate='off';lgd.Location='best';%调整轴范围posSep=ax.YLim(2)-0;ifstrcmp(scatterSep,'on')ax.YLim(1)=-posSep/6*N;elseax.YLim(1)=-posSep/6;endax.XLim=ax.XLim;totalSep=diff(ax.YLim);forn=1:Ndy=strcmp(scatterSep,'on');LY=ones(1,K(n)).*[(-posSep/6).*(.1+dy.*(n-1));(-posSep/6.)*(.9+dy.*(n-1));nan];LX=[Data(n).X(:)';Data(n).X(:)';ones(1,K(n)).*nan];line(LX(:),LY(:),'Color',[colorList(n,:),.4],'lineWidth',1)end%坐标区域修饰ax.Box='on';ax.BoxStyle='full';ax.LineWidth=1;ax.FontSize=11;ax.FontName='Arial';ax.TickDir='out';ax.TickLength=[.005,.1];ax.YTick(ax.YTick<-eps)=[];ax.Title.String='areaplotwith|scatter';ax.Title.FontSize=14;ax.XLabel.String='XXXXX';ax.YLabel.String='YYYYY';%绘制基准线及框线fplot(@(t)t.*0,'Color',ax.XColor,'LineWidth',ax.LineWidth);
以上就是关于“Matlab怎么实现带竖线散点的核密度图绘制”这篇文章的内容,相信大家都有了一定的了解,希望小编分享的内容对大家有帮助,若想了解更多相关的知识内容,请关注亿速云行业资讯频道。
Matlab怎么实现带竖线散点的核密度图绘制的详细内容,希望对您有所帮助,信息来源于网络。