Matlab怎么实现带竖线散点的核密度图绘制(matlab,开发技术)

时间:2024-05-02 20:56:36 作者 : 石家庄SEO 分类 : 开发技术
  • TAG :

这篇“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);

Matlab怎么实现带竖线散点的核密度图绘制

五组数据(数据组数超过五组则后期需要设置更长的配色):

%导入数据,更多的数据也请使用%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);

Matlab怎么实现带竖线散点的核密度图绘制

这部分代码里用的是随机生成的正态分布,可以将其更改为自己的数据。

part2 格式

有俩基础格式:

%一些基础设置scatterSep='off';%是否分开绘制竖线散点totalRatio='off';%是否各组按比例绘制

totalRatio属性能调节各组图像是否各组按比例绘制,如果将其设置为on

Matlab怎么实现带竖线散点的核密度图绘制

scatterSep属性能调节是否分开绘制竖线散点,如果将其设置为on

Matlab怎么实现带竖线散点的核密度图绘制

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:

Matlab怎么实现带竖线散点的核密度图绘制

C2:

Matlab怎么实现带竖线散点的核密度图绘制

C3:

Matlab怎么实现带竖线散点的核密度图绘制

C4:

Matlab怎么实现带竖线散点的核密度图绘制

C5:

Matlab怎么实现带竖线散点的核密度图绘制

C6:

Matlab怎么实现带竖线散点的核密度图绘制

C7:

Matlab怎么实现带竖线散点的核密度图绘制

C8:

Matlab怎么实现带竖线散点的核密度图绘制

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怎么实现带竖线散点的核密度图绘制的详细内容,希望对您有所帮助,信息来源于网络。
上一篇:es6如何获取顶层对象下一篇:

11 人围观 / 0 条评论 ↓快速评论↓

(必须)

(必须,保密)

阿狸1 阿狸2 阿狸3 阿狸4 阿狸5 阿狸6 阿狸7 阿狸8 阿狸9 阿狸10 阿狸11 阿狸12 阿狸13 阿狸14 阿狸15 阿狸16 阿狸17 阿狸18