1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > MATLAB boxplot 修改箱子线型 设置箱子颜色 不同长度数据画箱线图 中位线改成黑

MATLAB boxplot 修改箱子线型 设置箱子颜色 不同长度数据画箱线图 中位线改成黑

时间:2022-11-03 09:15:42

相关推荐

MATLAB boxplot 修改箱子线型 设置箱子颜色 不同长度数据画箱线图 中位线改成黑

效果图:1、train和test样本数据数量不一样;2、上下端横线去掉,中心线变为实线;3、分组修改颜色;4、指定每个箱子、每个组的位置

网上介绍 boxplot的文章已经很多了,自己试了一天总结出来的一些偏门的应用方法。直接上代码。

Deepsurv_train=[0.93 0.94 0.82 0.87 0.97 0.98 0.88 0.98 0.88 0.87 ];Deepsurv_test=[0.65 0.52 0.57 0.52 0.59 0.62 0.53 0.53 0.57 0.65 0.57 ];Random_Survival_Forest_train=[0.95 0.84 0.84 0.84 0.93 0.94 0.95 0.84 0.95 ];Random_Survival_test=[0.58 0.56 0.55 0.510.55 0.56 0.59 0.56 0.59 0.56 0.66 ];S_SAE_train=[0.93 0.94 0.74 0.93 0.82 0.93 0.84 0.94 0.84 0.84 ];S_SAE_test=[0.69 0.59 0.69 0.59 0.62 0.66 0.49 0.62 0.61 0.60 0.61 ];median1=median(Deepsurv_train);median2=median(Deepsurv_test);median3=median(Random_Survival_Forest_train);median4=median(Random_Survival_test);median5=median(S_SAE_train);median6=median(S_SAE_test);Pre = [Deepsurv_train,Deepsurv_test,Random_Survival_Forest_train,Random_Survival_test,S_SAE_train,S_SAE_test]; Pre_tmp=[ones(size(Deepsurv_train)),2*ones(size(Deepsurv_test)),3*ones(size(Random_Survival_Forest_train)),4*ones(size(Random_Survival_test))...,5*ones(size(S_SAE_train)),6*ones(size(S_SAE_test))];figure()positions1=[ones(size(Deepsurv_train)),1.25*ones(size(Deepsurv_test)),2*ones(size(Random_Survival_Forest_train)),2.25*ones(size(Random_Survival_test))...,3*ones(size(S_SAE_train)),3.25*ones(size(S_SAE_test))];boxplot(Pre,Pre_tmp,'color','k','widths',0.25,sym = '.',positions=positions1);set(gca,'xtick',[1.12 2.12 3.12])set(gca,'ytick',[0.5:0.1:1])set(gca,'xticklabel',{'Deepsurv','Random_Survival_Forest','S_SAE'})grid oncolor = ['r', 'b', 'r', 'b','r', 'b'];boxobj = findobj(gca,'Tag','Box');h = findobj(gca,'Tag','Box');LW = findobj(gca,'Tag','Lower Whisker');UW = findobj(gca,'Tag','Upper Whisker');Uav = findobj(gca,'Tag','Upper Adjacent Value');Lav = findobj(gca,'Tag','Lower Adjacent Value');M = findobj(gca,'Tag','Median');for j=1:length(h)LW(j).LineStyle='-';UW(j).LineStyle='-';Uav(j).LineStyle='none';Lav(j).LineStyle='none';M(j).Color='k';patch(get(h(j),'XData'),get(h(j),'YData'),color(j),'FaceAlpha',.6);endlegend('','train','test');ax = gca;ax.GridColor = [0 0 0];text(1.14,median1,num2str(median1))text(1.4,median2,num2str(median2))text(2.14,median3,num2str(median3))text(2.4,median4,num2str(median4))text(3.14,median5,num2str(median5))text(3.4,median6,num2str(median6))xlim([0.8 3.6])xlabel('model','FontSize',13)ylabel('cindex','FontSize',13)

处理数据长度不一样的方法:构造分组。例如A集有3个量,B集有2个量,则构造[1,1,1,2,2],再对[A,B]和分组,依据每一列画箱线图,由于A集组号都是1所以他们是1组。

修改线型的方法:findobj(gca,‘tag’,想要的组件的句柄)

句柄在帮助文档找,例如Lower Whisker就是箱线图的下须线

得到的变量是line类型,就可以更改线宽、线型(虚实线)、颜色等等

如果对您有帮助的话就留个赞吧!

MATLAB boxplot 修改箱子线型 设置箱子颜色 不同长度数据画箱线图 中位线改成黑色 箱线图虚线改实线

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。