matlab绘制双轴曲线图

本文将实现一个双轴折线图的绘制。

代码实现

%% 双轴折线图绘制
%% 数据准备
% 读取数据
% 自变量X
X = 0:0.05:10;
% 因变量Y1,对应左轴
Y1 = 0.5*exp(-0.5*X).*sin(10*X);
% 因变量Y2,对应右轴
Y2 = fliplr(Y1*10); % 左右翻转Y1*10


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

%% 激活左轴

yyaxis left
A1 = line(X,Y1);
set(A1,'LineStyle',Y1_LS,'Marker',Y1_MK,'LineWidth', Y1_LW,  'Color', Y1_C)
hYLabel1 = ylabel('Acurracy (%)');
% 坐标区调整
set(gca, 'YColor', Y1_C,...         % 坐标轴颜色
        'YTick', -0.6:0.2:0.6,...         % 刻度位置、间隔
        'Ylim' , [-0.6 0.6], ...          % 坐标轴范围
        'Yticklabel',{[-0.6:0.2:0.6]})    % Y坐标轴刻度标签
    
 %% 激活右轴
yyaxis right
A2 = line(X,Y2);
set(A2, 'LineStyle',Y2_LS,'Marker',Y2_MK,'LineWidth',Y2_LW,  'Color', Y2_C)
hYLabel2 = ylabel('Time (s)');
% 坐标区调整
set(gca, 'XColor',[.1 .1 .1], 'YColor', Y2_C,...         % 坐标轴颜色
        'YTick',  -6:2:6,...              % 刻度位置、间隔
        'Ylim' ,  [-6 6], ...             % 坐标轴范围
        'Yticklabel',{[-6:2:6]})          % Y坐标轴刻度标签
    
%  %% 图片输出
%  fileout = 'test';
%  print(figureHandle,[fileout,'.png'],'-r600','-dpng');

效果展示图
在这里插入图片描述

注:需要安装matlab的第三方着色方案cbrewer

参考资料

[1] cbrewer
[2] Matlab论文插图绘制模板—双轴折线图

  • 1
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值