Nature论文插图复刻第1期—多组柱状图(Part2-456)
昨天给大家分享了我博士期间搜集的《Nature》高清论文插图集(涵盖了超过1200张各式各样的论文插图),意外的反响还不错。
于是决定借此机会,以《Nature》高清论文插图集和《Matlab论文插图绘制模板系列》为基础,开启一个全新的系列,暂时称之为:
《Nature论文插图复刻系列》
顾名思义,就是我会从《Nature》高清论文插图集中挑选一些好看的插图,结合手头的各种软件(比如Matlab、PPT等)、插件(比如ColorCopy、OneKey等),尽量实现1:1复刻。
本期我们来复刻《Nature》高清论文插图集Part2中的第456号插图(以下简称456)的左下的多组柱状图。
先来看一下复刻效果:
大家还想看我复刻哪张图,可以告诉我号码。
特别提示:Nature论文插图复刻系列,旨在降低科研绘图的门槛,让大家不再觉得“顶级期刊里的论文插图对自己来说遥不可及”。如果觉得有用,不妨分享给你身边的人。
1 要素分析
之前有分享过Matlab柱状图的绘制模板:
与之相比,456的三个柱子之间有一定的间隔。
此外,456的文字注释为横排数字,Legend图例为小正方形,Y坐标轴的刻度标签保留了两位小数。
这些都是需要注意的点。
2 复刻工具
Matlab R2020a
Matlab科研绘图插件-ColorCopy配色方案提取工具
3 数据准备及配色方案提取
此部分主要是提取456中的数据以及配色方案,以用于绘图。
由于原图作者对每根柱子的值进行了注释,所以此处直接手动构建数据矩阵。
%% 数据准备
x = [1 3];
dataset = [15 24.37 31.2;
11 23.97 36.4];
然后,利用ColorCopy工具提取配色方案。
%% 颜色提取
C = ColorCopy;
close
C1 = C(1,:);
C2 = C(2,:);
C3 = C(3,:);
4 绘图
首先,利用‘bar’命令绘制初始的多组柱状图。
GO = bar(x,dataset,0.8,'EdgeColor','k');
hYLabel = ylabel('100 seed weight(100SW,
g)');
然后,赋上之前提取的配色方案,并对每根柱子添加文字注释。
% 赋色
GO(1).FaceColor = C1;
GO(2).FaceColor = C2;
GO(3).FaceColor = C3;
% 文字注释
for ii = 1
text(ii-0.45,dataset(ii,1)+2,num2str(dataset(ii,1),'%.2f'),...
'ROtation',0,'color','k','FontSize',8,'FontName', 'Helvetica', 'HorizontalAlignment','center');
text(ii,dataset(ii,2)+2,num2str(dataset(ii,2)),...
'ROtation',0,'color','k','FontSize',8,'FontName', 'Helvetica', 'HorizontalAlignment','center');
text(ii+0.45,dataset(ii,3)+2,num2str(dataset(ii,3)),...
'ROtation',0,'color','k','FontSize',8,'FontName', 'Helvetica', 'HorizontalAlignment','center');
end
for ii = 3
text(ii-0.45,dataset(ii-1,1)+2,num2str(dataset(ii-1,1)),...
'ROtation',0,'color','k','FontSize',8,'FontName', 'Helvetica', 'HorizontalAlignment','center');
text(ii,dataset(ii-1,2)+2,num2str(dataset(ii-1,2)),...
'ROtation',0,'color','k','FontSize',8,'FontName', 'Helvetica', 'HorizontalAlignment','center');
text(ii+0.45,dataset(ii-1,3)+2,num2str(dataset(ii-1,3)),...
'ROtation',0,'color','k','FontSize',8,'FontName', 'Helvetica', 'HorizontalAlignment','center');
end
再然后,对照原图,对坐标区细节进行进一步的调整:
% 坐标轴参数调整
set(gca, 'Box', 'off', ...
'XGrid', 'off', 'YGrid', 'off', ...
'TickDir', 'out', 'TickLength', [.005 .005], ...
'XMinorTick', 'off', 'YMinorTick', 'off', ...
'XColor', [0 0 0], 'YColor', [0 0 0 ],...
'YTick', 0:5:40,...
'Ylim' , [0 40], ...
'Xlim' , [0 4], ...
'Xtick', [0:4], ...
'Xticklabel',{' ', 'Pantancheru (2014-15)',' ','Pantancheru (2015-16)',' ' },...
'Yticklabel',{num2str([0:5:40]','%.2f')})
% legend
hLegend = legend([GO(1),GO(2),GO(3)], ...
'RP1 (2 individuals)', 'RP2 (15 individuals)', 'RP3 (5 individuals)', ...
'Location', 'northoutside','Orientation','horizontal');
hLegend.ItemTokenSize = [5 5];
legend('boxoff');
% 字体字号
set(gca, 'FontName', 'Arial', 'FontSize', 10)
set(hLegend, 'FontName', 'Arial', 'FontSize', 10)
set(hYLabel, 'FontName', 'Arial', 'FontSize', 11)
set(gcf,'Color',[1 1 1])
最后,按照所需分辨率输出图片:
figW = figureWidth;
figH = figureHeight;
set(figureHandle,'PaperUnits',figureUnits);
set(figureHandle,'PaperPosition',[0 0 figW
figH]);
fileout = 'test';
print(figureHandle,[fileout,'.png'],'-r300','-dpng');
可以说还原度还是比较高的。
大家还想看我复刻哪张图,可以告诉我号码。
以上。
获取方式:
所用工具及完整代码获取方式
Nature论文插图复刻第1期—多组柱状图(Part2-456)相关推荐
- Matlab论文插图绘制模板第77期—对数刻度横向柱状图
在之前的文章中,分享了Matlab对数刻度柱状图的绘制模板: 进一步,再来看一下对数刻度横向柱状图的绘制模板. 先来看一下成品效果: 特别提示:Matlab论文插图绘制模板系列,旨在降低大家使用Mat ...
- Matlab论文插图绘制模板第62期—水平三维柱状图(Bar3h)
在之前的文章中,分享了Matlab三维柱状图的绘制模板: 这次再来分享一下水平三维柱状图的绘制模板. 先来看一下成品效果: 特别提示:Matlab论文插图绘制模板系列,旨在降低大家使用Matlab进行 ...
- Matlab论文插图绘制模板第61期—横向多组堆叠图
之前有分享过一个Matlab多组堆叠图的绘制模板: 最近有朋友私信我,想让我出一个横向的多组堆叠图. 所以,这次就再出一期横向多组堆叠图的教程. 先来看一下成品效果: 特别提示:Matlab论文插图绘 ...
- Matlab论文插图绘制模板第24期—柱状图(多组堆叠)
在之前的文章中,分享了一个Matlab柱状图的绘制模板: 以及一些特殊形式的柱状图: 昨天有朋友问我,类似下面这种多组堆叠图应该怎么画. 我告诉她,之前有类似的教程,稍微举一反三一下,不难画. 但回头 ...
- Matlab论文插图绘制模板第28期—柱状图(带误差棒errorbar)
在之前的文章中,分享了Matlab柱状图的绘制模板: 折线图的绘制模板: 散点图的绘制模板: 在实际应用时,很多时候需要在以上内容基础上添加误差棒. 所以,这次来分享一下带误差棒的柱状图的绘制模板,算 ...
- Matlab论文插图绘制模板第69期—带误差棒的折线图(Errorbar)
在之前的文章中,分享了一系列Matlab折线图的绘制模板: 这一次,再来分享一种特殊的折线图:带误差棒的折线图. 先来看一下成品效果: 特别提示:Matlab论文插图绘制模板系列,旨在降低大家使用Ma ...
- Matlab论文插图绘制模板第50期—分簇散点图(Swarmchart)
在之前的文章中,分享了很多Matlab散点图的绘制模板: 这一次,再来分享一种特殊的散点图:分簇散点图. 先来看一下成品效果: 特别提示:Matlab论文插图绘制模板系列,旨在降低大家使用Matlab ...
- Matlab论文插图绘制模板第78期—进阶词云图
词云图一般由词汇.颜色.大小三种元素构成,其中颜色主要用于区分不同的词汇,而字体的大小可以直观地展示词汇数值的大小. 在之前的文章中,分享过一个简单的Matlab词云图绘制模板. 那么,我们进一步看一 ...
- Matlab论文插图绘制模板第33期—等高线填充图(contourf)
在上一期文章中,分享了Matlab等高线图的绘制模板: 进一步,再来分享一下等高线填充图的绘制模板. 先来看一下成品效果: 特别提示:Matlab论文插图绘制模板系列,旨在降低大家使用Matlab进行 ...
- Matlab论文插图绘制模板第39期—阶梯图(Stairs)
在之前的文章中,分享了Matlab折线图的绘制模板: 三维折线图的绘制模板: 以及一些特殊的线图: 这次再来分享一种线图:阶梯图. 先来看一下成品效果: 特别提示:Matlab论文插图绘制模板系列,旨 ...
最新文章
- Linux内核源码中使用宏定义的若干技巧
- 三级计算机系统是什么情况,三级PC技术: 计算机的组成和分类
- python polar contour_13.极坐标系(Polar coordinate system)
- vuex commit 模块_分享一个Vuex的使用的新姿势
- 阿里云如何打破Oracle迁移上云的壁垒
- 硬盘安装工具cgi_PE系统(U盘安装)
- springboot的测试类
- 唐太宗李世民14个儿子的可悲结局[高清组图]
- python读有中文的文件_在python中pandas读文件,有中文字符的方法
- 山东大学项目实训(三十二)—— 科室管理
- python selenium某里国际站网站注册登录验证问题
- 茶饮连锁门店数字化转型
- Lena原图 512*512
- C语言>>百钱百鸡问题。鸡翁一,值钱五;鸡母一,值钱三;鸡雏三,值钱一;百钱买百鸡,翁、母、雏各几何 ?
- 年会弹幕文字_微信弹幕_微信墙/弹幕抽奖/晚会年会必备互动
- Alpha GO核心原理
- 面向6G网络自动化的知识驱动可解释人工智能(XAI);基于汽车事件数据的脉冲神经网络目标检测;对称分类方案下波导阵列中的BIC;PreMovNet:基于运动前脑电的抓取和提举手运动学估计
- 【操作系统】Oranges学习笔记(六) 第七章 输入/输出系统
- 转载-ChatGPT在信息安全领域的应用前景
- IOS手机端浏览器内核