matlab画图双坐标轴和多坐标轴代码

        matlab的绘图模块相比于其他软件要好看很多,可以使用句柄画出很漂亮的图,下面介绍plot画单坐标轴图和双坐标轴图,另附上多坐标轴图的代码下载

一、单坐标轴图

     直接使用plot(x,y)即可,x为横坐标的矩阵,y为纵坐标的矩阵,具体用法参见https://blog.csdn.net/sinat_21026543/article/details/80215281,写的特别详细,建议大家去看看

二、双坐标轴图

在matlab中双坐标轴图的画法通常使用plotyy函数,具体用法:

1.plotyy(X1,Y1,X2,Y2):以左、右不同纵轴绘制X1-Y1、X2-Y2两条曲线。
2.plotyy(X1,Y1,X2,Y2,FUN1):以左、右不同纵轴把X1-Y1、X2-Y2两条曲线绘制成FUN1指定形式的两条曲线。
3.plotyy(X1,Y1,X2,Y2,FUN1,FUN2):以左、右不同纵轴把X1-Y1、X2-Y2两条曲线绘制成FUN1、FUN2指定的不同形式的两条曲线。
4.[AX,H1,H2]=plotyy(...):返回AX中创建的两个坐标轴的句柄以及H1和H2中每个图形绘图对象的句柄。AX(1)为左侧轴, AX(2)为右侧轴。
如果是直接使用plotyy效果不是很理想,因此一般都是用最后一个,其中使用方法为:

[AX,H1,H2]=plotyy(t1,a1,t2,a2,'plot');

(1)设置双y轴的刻度

设置横坐标为0:10:100,也就是0-100,间隔取10,左右轴坐标分别为0-500和0-10000

set(AX(1),'XTick',[0:10:100],'yTick',[0:50:500])  %设置左边Y轴的刻度
set(AX(2),'XTick',[0:10:100],'yTick',[0:50:1000])  %设置右边Y轴的刻度

(2)添加标注

添加横纵坐标轴的名称,横坐标为x,纵坐标分别为a1、a2

HH1=get(AX(1),'Ylabel');
set(HH1,'String','a1')
HH2=get(AX(2),'Ylabel');
set(HH2,'String','a2')

或者如下,效果是一样的

set(get(AX(1),'Ylabel'),'String','a1')
set(get(AX(2),'Ylabel'),'String','a2')

(3)调整图像线形和粗细

左轴的为实线,粗细为2,颜色为红色;右轴的为虚线,粗细为2,颜色为绿色

set(H1(1),'LineStyle','-','LineWidth',2,'color','r')
set(H2(1),'LineStyle',':','LineWidth',2,'color','g')

(4)具体实例如下:

对应的代码

clc
clear
close all
t1=(0:10:100);t2=t1;t3=t1;t4=t1;
a1=rand(1,11)*200;
a2=rand(1,11)*2000;
a3=rand(1,11)*100000;
a4=rand(1,11)*0.0001;
figure(5)
hold on
[AX,H1,H2]=plotyy(t1,a1,t2,a2,'plot');
set(AX(1),'XColor','k','YColor','k')
set(AX(2),'XColor','k','YColor','k')
HH1=get(AX(1),'Ylabel');
set(HH1,'String','a1')
HH2=get(AX(2),'Ylabel');
set(HH2,'String','a2')
set(AX(1),'xlim',[0,100],'xtick',[0,200,400,600,800,1000])
set(AX(1),'ylim',[0,200],'ytick',[0,40,80,120,160,200])
set(AX(2),'xlim',[0,100],'xtick',[0,200,400,600,800,1000])
set(AX(2),'ylim',[0,2000],'ytick',[0,400,800,1200,1600,2000])
set(H1(1),'LineStyle','-','LineWidth',2,'color','r')
set(H2(1),'LineStyle',':','LineWidth',2,'color','g')
set(gca,'Position',[0.2 0.2 0.55 0.6])
hold on
legend boxoff
lgd1=legend([H1(1),H2(1)],'a1','a2','orientation','horizontal','location','north');
ah=axes('position',get(gca,'position'),'visible','off');

三、多坐标轴图

有的时候需要画多个坐标轴,这时候就需要根据自己的需求进行调节,具体实例效果如下:

代码https://download.csdn.net/download/weixin_41971010/16728944

  • 19
    点赞
  • 148
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 6
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

是好人的墨叔

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值