写了一个配对箱线图绘制模板:

数据准备

这里随机生成了一些正态分布随机数作为数据,使用时可以将Y换成自己的数据:

% 随机构造一组数据
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];

配色

这里准备了七组数据,只需要修改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:


绘图及修饰

这里的修饰分为坐标区域修饰以及图形对象修饰两部分,已在代码中标注好:

% 绘图
boxplot(Y,'Symbol','o','OutlierSize',3,'Colors',[0,0,0]);% 坐标区域属性设置
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';% 修改线条粗细
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% 绘制配对线
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% 随机构造一组数据
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]);% 坐标区域属性设置
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';% 修改线条粗细
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% 绘制配对线
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 | 好看的配对箱线图绘制模板相关推荐

  1. 跟着Nat Commun学作图 | 4.配对箱线图+差异分析

    跟着Nat Commun学作图 | 4.配对箱线图+差异分析 今天要学习的图来自2021年10月29号发表在的Nature Communication上的一篇文章,题目是[新冠肺炎患者呼吸道菌群组成及 ...

  2. openpyxl 绘制饼形图_好享学丨快速上手Pythonmatplotlib 箱线图绘制,学术人必备

    好享学是高下制图推出的关于数据可视化经验分享栏目,我们将定期与您分享各界优秀人士的制图经验,一同学习. 01. 引言 箱线图(Boxplot)  是一种用作显示一组数据分散情况资料的统计图表,本期推文 ...

  3. Alpha多样性之箱线图绘制

    Alpha多样性 通常用Richness,Chao1,Shannon,Simpson,Dominance和Equitability等指数来评估样本的物种多样性. 所以这个节学习主要分两个部分: ## ...

  4. matlab 画多个箱线图

    data = [temp6 ;temp6 ]; s_groupA = repmat({'item 1'},numel(temp6),1); s_groupB = repmat({'item 2'},n ...

  5. 无代码绘制基因表达箱线图

    给定一个基因表达矩阵和样本分组信息,如何绘制样品整体表达箱线图.单个或多个基因表达箱线图. 获取示例数据 我们从中截取前面4行作为演示例子. 利用工具Wide to Long把表达矩阵转换为长表格 把 ...

  6. python 箱线图的绘制方法

    箱线图的含义 如下图所示,箱线图,矩形部分称为箱体,箱体中的线代表中位数: data = [......], 按照顺序排好: -- 以下数的求法,可以参考numpy: 然后 中位数:m = data. ...

  7. 利用R语言实现箱线图的绘制与美化(正态分布随机数生成、显著性检验、误差线添加、图例、背景更改)

    问题:按照正态分布随机生成A(平均值= 50,sd = 3),B(平均值= 45,sd = 2),C(平均值= 40,sd = 5)和D(平均值= 52)作为4种甜瓜的产量数据 ,sd = 2),并绘 ...

  8. 数据可视化(箱线图、直方图、散点图、联合分布图)

    数据可视化 箱线图可视化 箱线图(Box plot)也称箱须图(Box-whisker Plot).箱线图.盒图,可以用来反映一组或多组连续型定量数据分布的中心位置和散布范围. 连续型数据:在一定区间 ...

  9. 宏基因组扩增子3统计绘图:中文首发,最详系,零基础(箱线图、散点图、热图、曼哈顿图、火山图、韦恩图、三元图、网络图)

    本网内容首发"宏基因组"公众号,更佳阅读体验.更多相关文章,欢迎点我跳转至公众号阅读 注:文为蓝色字均为文章链接,可点击直达 写在前面 优秀的作品都有三部分曲,如骇客帝国.教父.指 ...

  10. 扩增子统计绘图1箱线图:Alpha多样性

    本网对Markdown排版支持较差,对格式不满意的用户请跳转至 或"宏基因组"公众号阅读: 写在前面 优秀的作品都有三部分曲,如骇客帝国.教父.指环王等. 扩增子系列课程也分为三部 ...

最新文章

  1. java窗口课程_课程登记窗口java
  2. 在 OS X 中使用 OpenResty
  3. 【星球知识卡片】图像风格化与翻译都有哪些核心技术,如何对其长期深入学习...
  4. SharePoint2016如何使用策略进行文档归档
  5. Basic Calculator
  6. DevExpress v17.2新版亮点—WinForms篇(四)
  7. 六种PHP图片上传重命名方案研究与总结
  8. Unity3D:Graphics.BlitMultiTap方法
  9. ServletContext、ServletConfig(FilterConfig)学习笔记
  10. 判断 Map 中是否包含指定的 key 和 value
  11. 手机浏览器打开不本地html,手机浏览器打不开网页怎么办
  12. PHP怎么做斗地主,JavaScript实现斗地主游戏的思路_javascript技巧
  13. 如何去掉桌面图标快捷方式的小箭头(小技巧)
  14. RHEL Linux 8.3 通过 BIND 实现 DNS 基本功能
  15. 强化学习实战-使用Sarsa算法解决悬崖问题
  16. CPS攻击案例(一)——基于脉冲宽度调制PWM的无人机攻击
  17. 小程序接入h5页面_h5页面和小程序交互
  18. PC流氓软件卸载神器Geek Uninstaller
  19. linux查看block大小命令,Linux/Centos下多种方法查看系统block size大小
  20. mac去除dmg打开密码的方法

热门文章

  1. excel工作表限制编辑怎么删除
  2. Java使用aspose合并两个PDF文件
  3. [C#] 软硬结合第二篇——酷我音乐盒的逆天玩法
  4. win7电脑蓝屏没有修复计算机,家里电脑总是蓝屏,自己就可以修复!-win7蓝屏修复工具...
  5. 台式计算机内存两个缺口,台式机内存条正确安装方法|台式电脑怎样安装两个内存条...
  6. 德保罗大学计算机排名,德保罗大学费用
  7. SpringBoot整合jersey
  8. 洛谷 P5708 【深基2.习2】三角形面积(C)
  9. 病毒木马查杀实战第022篇:txt病毒研究
  10. 创建 SSH key