双Y轴如何分别自定义颜色和刻度?

matlab2016a后版本不推荐使用plotyy函数

推荐使用以下函数画图

 yyaxis left 
 yyaxis right

使用

colororder(colorset);%colorset为待使用的颜色的数组,顺序分别为left right

函数定义两轴的颜色


clear
close all


data0=readmatrix('1.txt');
L1=transpose(data0(:,1));
ycomplex=(data0(:,2:end));
yre=real(ycomplex);
yim=imag(ycomplex);
[sizex1, sizey1]=size(ycomplex);
%% parameter setting
fontSize=28;%字体大小
lineWidthBox=2;
markerSize=7;
pictureResolution='-r800';%修改图片质量
figure(1)%时域out
    hold on
    box on
    set(gca,'LineWidth',lineWidthBox)%设置边的线宽
    newcolors = [1 0 0; 0 0 1];
colororder(newcolors);
   yyaxis left 
reline=plot(L1,yre,'LineWidth',4,'color', newcolors(1,:));
s1=scatter(L1,yre,'LineWidth',2,'MarkerEdgeColor', newcolors(1,:));%,'MarkerEdgeColor',colorsetdot
 s1.SizeData=50;
yticks(-10:0.5:20);
ylim([0 2.5]);
ylabel('left','FontName','Arial','FontSize',fontSize);
yyaxis right
imline=plot(L1,yim,'LineWidth',4,'LineStyle','-','color', newcolors(2,:));%,'color',colorset1(1,:)
s2=scatter(L1,yim,'LineWidth',2,'MarkerEdgeColor', newcolors(2,:));%,'MarkerEdgeColor',colorsetdot
 s2.SizeData=50;
yticks(0:0.1:20);
ylim([0 0.601]);
ylabel('right','FontName','Arial','FontSize',fontSize);
xlim([14 32]);%x,y范围
xticks(0:3:50);
set(gca,'FontName','Arial','FontSize',fontSize);%设置字体
set (gca,'FontWeight','bold');%加粗
print('-djpeg','1.tif',pictureResolution);
print('-f1','MySavedPlottime21','-dpng');
%-f1表示输出图1,第二项为名称 第三项为格式输出图片质量一般,尺寸太小暂存作为示意
通过YAxis()可以单独设置左右刻度。
ax = gca;
ax.YAxis(1).Direction = 'reverse';
ax.YAxis(2).Direction = 'reverse';

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值