欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Matlab實(shí)現(xiàn)好看的配對(duì)箱線圖的繪制

 更新時(shí)間:2022年08月17日 08:34:06   作者:slandarer  
配對(duì)箱線圖,常見(jiàn)于配對(duì)樣本的數(shù)據(jù)分析中,它除了能夠表現(xiàn)兩組的整體差異,還能夠清晰地呈現(xiàn)單個(gè)樣本的前后改變。本文將用Matlab實(shí)現(xiàn)配對(duì)箱線圖的繪制,需要的可以參考一下

寫(xiě)了一個(gè)配對(duì)箱線圖繪制模板:

數(shù)據(jù)準(zhǔn)備

這里隨機(jī)生成了一些正態(tài)分布隨機(jī)數(shù)作為數(shù)據(jù),使用時(shí)可以將Y換成自己的數(shù)據(jù):

% 隨機(jī)構(gòu)造一組數(shù)據(jù)
PntSet1=sort(mvnrnd(0,2,25));
PntSet2=sort(mvnrnd(.5,2.5,25));
PntSet3=sort(mvnrnd(0,2,25));
PntSet4=sort(mvnrnd(.5,2.5,25));
% Y=[PntSet1,PntSet2];
Y=[PntSet1,PntSet2,PntSet3,PntSet4];

配色

這里準(zhǔn)備了七組數(shù)據(jù),只需要修改colorList=Cn即可:

% 配色列表
C1=[59 125 183;244 146 121;242 166 31;180 68 108;220 211 30]./255;
C2=[102,173,194;36,59,66;232,69,69;194,148,102;54,43,33]./255;
C3=[38,140,209;219,51,46;41,161,153;181,138,0;107,112,196]./255;
C4=[110,153,89;230,201,41;79,79,54;245,245,245;199,204,158]./255;
C5=[235,75,55;77,186,216;2,162,136;58,84,141;245,155,122]./255;
C6=[23,23,23;121,17,36;44,9,75;31,80,91;61,36,42]./255;
C7=[126,15,4;122,117,119;255,163,25;135,146,73;30,93,134]./255;
colorList=C7;

C1:

C2:

C3:

C4:

C5:

C6:

C7:

繪圖及修飾

這里的修飾分為坐標(biāo)區(qū)域修飾以及圖形對(duì)象修飾兩部分,已在代碼中標(biāo)注好:

% 繪圖
boxplot(Y,'Symbol','o','OutlierSize',3,'Colors',[0,0,0]);

% 坐標(biāo)區(qū)域?qū)傩栽O(shè)置
ax=gca;hold on;
ax.LineWidth=1.1;
ax.FontSize=11;
ax.FontName='Arial';
ax.XTickLabel={'AA','BB','CC','DD','EE','FF'};
ax.Title.String='Title of Paired BoxPlot';
ax.Title.FontSize=13;
ax.YLabel.String='expression of XXX';

% 修改線條粗細(xì)
lineObj=findobj(gca,'Type','Line');
for i=1:length(lineObj)
    lineObj(i).LineWidth=1;
    lineObj(i).MarkerFaceColor=[1,1,1].*.3;
    lineObj(i).MarkerEdgeColor=[1,1,1].*.3;
end

% 為箱線圖的框上色
boxObj=findobj(gca,'Tag','Box');
for i=1:length(boxObj)
    patch(boxObj(i).XData,boxObj(i).YData,colorList(length(boxObj)+1-i,:),'FaceAlpha',0.5,...
        'LineWidth',1.1);
end

% 繪制配對(duì)線
X=ones(size(Y)).*(1:size(Y,2));
plot(X',Y','Color',[0,0,0,.3],'Marker','o','MarkerFaceColor',[1,1,1].*.3,...
    'MarkerEdgeColor',[1,1,1].*.3,'MarkerSize',3,'LineWidth',.6)

完整代碼

% pairboxplot

% 隨機(jī)構(gòu)造一組數(shù)據(jù)
PntSet1=sort(mvnrnd(0,2,25));
PntSet2=sort(mvnrnd(.5,2.5,25));
PntSet3=sort(mvnrnd(0,2,25));
PntSet4=sort(mvnrnd(.5,2.5,25));
% Y=[PntSet1,PntSet2];
Y=[PntSet1,PntSet2,PntSet3,PntSet4];

% 配色列表
C1=[59 125 183;244 146 121;242 166 31;180 68 108;220 211 30]./255;
C2=[102,173,194;36,59,66;232,69,69;194,148,102;54,43,33]./255;
C3=[38,140,209;219,51,46;41,161,153;181,138,0;107,112,196]./255;
C4=[110,153,89;230,201,41;79,79,54;245,245,245;199,204,158]./255;
C5=[235,75,55;77,186,216;2,162,136;58,84,141;245,155,122]./255;
C6=[23,23,23;121,17,36;44,9,75;31,80,91;61,36,42]./255;
C7=[126,15,4;122,117,119;255,163,25;135,146,73;30,93,134]./255;
colorList=C7;


% 繪圖
boxplot(Y,'Symbol','o','OutlierSize',3,'Colors',[0,0,0]);

% 坐標(biāo)區(qū)域?qū)傩栽O(shè)置
ax=gca;hold on;
ax.LineWidth=1.1;
ax.FontSize=11;
ax.FontName='Arial';
ax.XTickLabel={'AA','BB','CC','DD','EE','FF'};
ax.Title.String='Title of Paired BoxPlot';
ax.Title.FontSize=13;
ax.YLabel.String='expression of XXX';

% 修改線條粗細(xì)
lineObj=findobj(gca,'Type','Line');
for i=1:length(lineObj)
    lineObj(i).LineWidth=1;
    lineObj(i).MarkerFaceColor=[1,1,1].*.3;
    lineObj(i).MarkerEdgeColor=[1,1,1].*.3;
end

% 為箱線圖的框上色
boxObj=findobj(gca,'Tag','Box');
for i=1:length(boxObj)
    patch(boxObj(i).XData,boxObj(i).YData,colorList(length(boxObj)+1-i,:),'FaceAlpha',0.5,...
        'LineWidth',1.1);
end

% 繪制配對(duì)線
X=ones(size(Y)).*(1:size(Y,2));
plot(X',Y','Color',[0,0,0,.3],'Marker','o','MarkerFaceColor',[1,1,1].*.3,...
    'MarkerEdgeColor',[1,1,1].*.3,'MarkerSize',3,'LineWidth',.6)

以上就是Matlab實(shí)現(xiàn)好看的配對(duì)箱線圖的繪制的詳細(xì)內(nèi)容,更多關(guān)于Matlab配對(duì)箱線圖的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • Matlab實(shí)現(xiàn)四種HSV色輪圖繪制的示例代碼

    Matlab實(shí)現(xiàn)四種HSV色輪圖繪制的示例代碼

    色輪圖就是色彩相位圖,它完整表現(xiàn)了色相環(huán)360度的全部顏色。本文將利用Matlab語(yǔ)言繪制四種不同的HSV色輪圖,感興趣的可以動(dòng)手嘗試一下
    2022-07-07
  • boost.asio框架系列之調(diào)度器io_service

    boost.asio框架系列之調(diào)度器io_service

    這篇文章介紹了boost.asio框架系列之調(diào)度器io_service,對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2022-06-06
  • C++細(xì)講深淺拷貝與初始化列表如何操作

    C++細(xì)講深淺拷貝與初始化列表如何操作

    C++對(duì)象特性里的拷貝構(gòu)造函數(shù)有更深入的含義,而且面試曾經(jīng)問(wèn)過(guò)關(guān)于拷貝的析構(gòu)問(wèn)題,那么今天就好好解析一下深淺拷貝的問(wèn)題;還有初始化列表的形式,這個(gè)在給對(duì)象屬性初始化的時(shí)候非常方便,建議大家熟練掌握,話不多說(shuō),開(kāi)始正文
    2022-05-05
  • C++構(gòu)造函數(shù)初始化列表的實(shí)現(xiàn)詳解

    C++構(gòu)造函數(shù)初始化列表的實(shí)現(xiàn)詳解

    構(gòu)造函數(shù)主要作用在于創(chuàng)建對(duì)象時(shí)為對(duì)象的成員屬性賦值,構(gòu)造函數(shù)由編譯器自動(dòng)調(diào)用,無(wú)須手動(dòng)調(diào)用;析構(gòu)函數(shù)主要作用在于對(duì)象銷毀前系統(tǒng)自動(dòng)調(diào)用,執(zhí)行一 些清理工作
    2022-09-09
  • 一篇文章帶你了解C++智能指針詳解

    一篇文章帶你了解C++智能指針詳解

    這篇文章主要介紹了c++ 智能指針基礎(chǔ)的相關(guān)資料,幫助大家更好的理解和學(xué)習(xí)使用c++,感興趣的朋友可以了解下,希望能給你帶來(lái)幫助
    2021-08-08
  • C語(yǔ)言中pthread_exit和pehread_join的使用

    C語(yǔ)言中pthread_exit和pehread_join的使用

    pthread_exit用于強(qiáng)制退出一個(gè)線程,pthread_join用于阻塞等待線程退出,獲取線程退出狀態(tài),本文主要介紹了C語(yǔ)言中pthread_exit和pehread_join函數(shù)的使用,具有一定的參考價(jià)值,感興趣的可以了解一下
    2024-02-02
  • makefile如何調(diào)用靜態(tài)庫(kù)的方法實(shí)現(xiàn)

    makefile如何調(diào)用靜態(tài)庫(kù)的方法實(shí)現(xiàn)

    這篇文章主要介紹了makefile如何調(diào)用靜態(tài)庫(kù)的方法實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-12-12
  • C++單例模式應(yīng)用實(shí)例

    C++單例模式應(yīng)用實(shí)例

    這篇文章主要介紹了C++單例模式應(yīng)用實(shí)例,詳細(xì)講述了單例模式的原理與結(jié)構(gòu),及相關(guān)的打印機(jī)應(yīng)用實(shí)例,需要的朋友可以參考下
    2014-10-10
  • 深入理解C++中的new和delete并實(shí)現(xiàn)對(duì)象池

    深入理解C++中的new和delete并實(shí)現(xiàn)對(duì)象池

    這篇文章主要介紹了C++中的new和delete并實(shí)現(xiàn)對(duì)象池,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-09-09
  • 深入探究協(xié)程在C++中的實(shí)現(xiàn)方式

    深入探究協(xié)程在C++中的實(shí)現(xiàn)方式

    協(xié)程可以被看作是計(jì)算機(jī)程序中的獨(dú)立功能塊,它們?cè)趫?zhí)行過(guò)程中能夠暫停和恢復(fù),與傳統(tǒng)的函數(shù)調(diào)用相比,協(xié)程更像是一種輕量級(jí)的線程,本文我們將深入探究協(xié)程在C++中的實(shí)現(xiàn)方式,文中有詳細(xì)的代碼示例供大家參考,需要的朋友可以參考下
    2023-12-12

最新評(píng)論