Matlab论文插图绘制模板—双轴折线图

假如我们想用Matlab绘制这样一幅图:

一条线Y1表示算法的精度,另一条线Y2表示算法的运行时间,两者均随着某一参数X变化,但所代表的是完全不同的事物,无法用同一坐标轴表示

怎么破?

这时,就需要双轴折线图出场了。

之前我分享过Matlab折线图的绘制模板

这次我们在其基础上升级一下,画一个双轴折线图

其原理,主要是通过yyaxis函数分别激活左右两轴、作图

模板中主要包括六部分内容:

1. 数据准备

此部分主要是读取数据并分配变量。

为了方便演示,这里没有使用真实数据。实际应用时,根据自己的情况调整。

%% 数据准备% 读取数据% 自变量XX = 0:0.05:10;% 因变量Y1,对应左轴Y1 = 0.5*exp(-0.5*X).*sin(10*X);% 因变量Y2,对应右轴Y2 = fliplr(Y1*10);

*特别提醒:X、Y1与Y2的长度应该是相同的。

2. 线条参数与窗口尺寸设置

一般的毕业论文也好、学术期刊也罢,用的大多是A4纸,去掉边距后,图片宽度一般应小于15cm(单栏)或7.5cm(双栏),图片高度按比例设置。

图片尺寸确定了,可以避免后续图片缩放带来的字号变化问题。

%% 图片尺寸设置(单位:厘米)figureUnits = 'centimeters';figureWidth = 12;figureHeight = 8;%% 定义线型、标记符号、线宽和颜色% 定义因变量Y1线型、符号、线宽与颜色Y1_LS = '-';Y1_MK = 'none';Y1_LW = 1.5;Y1_C = addcolor(185);% 定义因变量Y2线型、符号、线宽与颜色Y2_LS = '-';Y2_MK = 'none';Y2_LW = 1.5;Y2_C = addcolor(1);%% 窗口设置figureHandle = figure;set(gcf, 'Units', figureUnits, 'Position',[10 10 figureWidth figureHeight]);hold on

3. 左轴绘制

首先通过yyaxis left激活左轴,然后按照之前分享的折线图绘制方法生成Y1曲线。

yyaxis leftA1 = line(X,Y1);set(A1,'LineStyle',Y1_LS,'Marker',Y1_MK,'LineWidth', Y1_LW,  'Color', Y1_C)hYLabel1 = ylabel('Acurracy (%)');% 坐标区调整set(gca, 'YColor', [.1 .1 .1],...         % 坐标轴颜色        'YTick', -0.6:0.2:0.6,...         % 刻度位置、间隔        'Ylim' , [-0.6 0.6], ...          % 坐标轴范围        'Yticklabel',{[-0.6:0.2:0.6]})    % Y坐标轴刻度标签

4. 右轴折线图绘制

同样的,通过yyaxis right激活右轴,按照之前分享的折线图绘制方法生成Y2曲线。

yyaxis rightA2 = line(X,Y2);set(A2, 'LineStyle',Y2_LS,'Marker',Y2_MK,'LineWidth',Y2_LW,  'Color', Y2_C)hYLabel2 = ylabel('Time (s)');% 坐标区调整set(gca, 'YColor', [.1 .1 .1],...         % 坐标轴颜色        'YTick',  -6:2:6,...              % 刻度位置、间隔        'Ylim' ,  [-6 6], ...             % 坐标轴范围        'Yticklabel',{[-6:2:6]})          % Y坐标轴刻度标签

 *特别提醒:双轴折线图的关键在于两条Y轴坐标范围的调节。

5. 细节调整

为了插图的美观,还需要再增加亿点点细节。

需要调整的内容主要包括:

  • 线型、线宽、标记符号、颜色

  • 边框、网格、坐标轴、坐标轴刻度及其标签

  • 说明文字的字体和字号

6. 图片输出

设置完毕后,以论文所需分辨率、格式输出图片:

print(figureHandle,[fileout,'.png'],'-r600','-dpng');

完成~

下一篇文章会分享Matlab双轴柱状图的绘制模板。

里面会介绍一种我独创的条形图绘图技巧~

模板获取方式:

Matlab出版级论文插图-双轴折线图https://mp.weixin.qq.com/s/qXTBCNuy8Mok50XknC29vQ

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值