matlab在一个坐标系,[转载]【Matlab】 如何在一张图上画多个坐标轴

文件交流上好像有画3y轴的函数:

function

[ax,hlines] = plotyyy(x1,y1,x2,y2,x3,y3,ylabels)

%PLOTYYY - Extends plotyy to include a third

y-axis

%Syntax: [ax,hlines] =

plotyyy(x1,y1,x2,y2,x3,y3,ylabels)

%Inputs: x1,y1 are the xdata and ydata for the first axes'

line

% x2,y2 are the

xdata and ydata for the second axes' line

% x3,y3 are the

xdata and ydata for the third axes' line

% ylabels is a

3x1 cell array containing the ylabel strings

%Outputs: ax - 3x1 double

array containing the axes' handles

% hlines - 3x1

double array containing the lines' handles

%Author: Denis Gilbert, Ph.D., physical

oceanography

%Maurice Lamontagne Institute

�pt. of Fisheries and Oceans Canada

%email:

%Web:http://www.qc.dfo-mpo.gc.ca/iml/

%April 2000; Last revision: 14-Nov-2001

if nargin==6

ylabels{1}=' '; ylabels{2}='

'; ylabels{3}=' ';

elseif nargin > 7

error('Too many input

arguments')

elseif nargin < 6

error('Not enough input

arguments')

end

figure('units','normalized',...

'DefaultAxesXMinorTick','on','DefaultAxesYminorTick','on');

[ax,hlines(1),hlines(2)] = plotyy(x1,y1,x2,y2);

cfig = get(gcf,'color');

pos =

[0.1 0.1 0.7 0.8];

offset = pos(3)/5.5;

pos(3) = pos(3) - offset/2;

set(ax,'position',pos);

pos3=[pos(1) pos(2) pos(3)+offset pos(4)];

limx1=get(ax(1),'xlim');

limx3=[limx1(1) limx1(1) +

1.2*(limx1(2)-limx1(1))];

ax(3)=axes('Position',pos3,'box','off',...

'Color','none','XColor','k','YColor','r',...

'xtick',[],'xlim',limx3,'yaxislocation','right');

hlines(3) =

line(x3,y3,'Color','r','Parent',ax(3));

limy3=get(ax(3),'YLim');

line([limx1(2) limx3(2)],[limy3(1) limy3(1)],...

'Color',cfig,'Parent',ax(3),'Clipping','off');

axes(ax(2))

set(get(ax(1),'ylabel'),'string',ylabels{1})

set(get(ax(2),'ylabel'),'string',ylabels{2})

set(get(ax(3),'ylabel'),'string',ylabels{3})

% 例子

% x = [0 0.1 0.2 0.3 0.4 0.426 0.5 0.6 0.688 0.7 0.8 0.9

1.0];

% y = [268.95 272.36 275.07 277.07 277.93 278 276.5 267.16 248.2

244.3 200.37 137.71 58.7];

% a = [0 0.225 0.408 0.566 0.693 0.718 0.776 0.82 0.831 0.831 0.818

0.784 0.6];

% k = [2.55 2.254 2.063 1.886 1.733 1.687 1.552 1.368 1.207 1.187

1.023 0.873 0.6];

% ylabels{1}='轴1';

% ylabels{2}='轴2';

% ylabels{3}='轴3';

% [ax,hlines] = plotyyy(x,y,x,a,x,k,ylabels);

% legend(hlines, 'y = x','a =x','k = x',2)

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值