投稿问答最小化  关闭

万维书刊APP下载

Matlab论文插图绘制模板第72期—金字塔图

2023/1/30 9:08:56  阅读:150 发布者:

前段时间,有朋友觉得一篇文章里的插图看着不错,问Matlab能不能实现:

想了想,Matlab中并没有现成的画图代码。

但本质上,这种图其实就是横向柱状图的变体,而横向柱状图的绘制模板之前有分享过:

既然让咱复刻一下,那就来嘛,反正也不复杂。

先来看一下成品效果:

特别提示:Matlab论文插图绘制模板系列,旨在降低大家使用Matlab进行科研绘图的门槛,只需按照模板格式添加相应内容,即可得到满足大部分期刊以及学位论文格式要求的数据插图。如果觉得有用可以分享给你的朋友。

模板中最关键的部分内容:

 

1. 数据准备

此部分主要是读取数据,定义自变量和因变量。

% 读取数据

% 因变量

x = 1:4;

% 自变量

y1 = [40 55 60 70];

y2 = [-75 -75 -90 -90];

 

2. 颜色定义

使用TheColor配色工具的

取色功能提取原图配色:

%% 颜色定义

% C = TheColor('copy');

% close

% C1 = C(1,:);

% C2 = C(2,:);

(点击上图查看TheColor具体功能)

获取方式:公众号(阿昆的科研日常)后台回复 TC

3. 金字塔图绘制

使用barh’命令,绘制未经美化的金字塔图。

B1 = barh(x,y1,0.7,'BaseValue',0);

B2 = barh(x,y2,0.7,'BaseValue',0);

hTitle = title('CASE 2 or improvement 5');

4. 细节优化

为了插图的美观,将两个对象赋上之前选择好的颜色:

% 赋色

B1.FaceColor = C1;

B2.FaceColor = C2;

进一步,添加标签,并调整坐标轴属性、字体字号、背景颜色等:

% 添加注释文本

text(-130,4,'4th visit','FontWeight','bold')

text(-130,3,'3rd visit','FontWeight','bold')

text(-130,2,'2nd visit','FontWeight','bold')

text(-130,1,'1st visit','FontWeight','bold')

text(80,4,'p=0.303')

text(80,3,'p=0.011','FontWeight','bold')

text(80,2,'p=0.170')

text(80,1,'p=0.010','FontWeight','bold')

% 坐标轴调整

set(gca,'Box','off',...

        'Layer','top',...

        'TickDir','out',...

        'XTick', -100:20:100,...

        'Xticklabel', {[100:-20:0,20:20:100]},...

        'Xlim',[-100 100],...

        'Ytick',[], ...

        'Ylim',[0.5 4.5],...

        'Ycolor','w')

% 字体字号

set(gca, 'FontName','Arial','FontSize',10,'FontWeight','bold')

set(hTitle,'FontName','Arial','FontSize',11,'FontWeight','bold')

% 背景颜色

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');

以上。

转自:“阿昆的科研日常”微信公众号

如有侵权,请联系本站删除!


  • 万维QQ投稿交流群    招募志愿者

    版权所有 Copyright@2009-2015豫ICP证合字09037080号

     纯自助论文投稿平台    E-mail:eshukan@163.com