matlab双y轴作图两个y坐标轴设置问题,y轴刻度设置语句没发挥作用,求解答

作者&投稿:禹匡 (若有异议请与网页底部的电邮联系)
MATLAB双Y轴画图坐标轴设置问题~

alpha=0:0.01:pi/2;
t1=286*sin(2*alpha)/2;
m1=286*(cos(alpha)-cos(alpha).^3);
x1=633+286*cos(2*alpha)/2;
[AX,H1,H2]=plotyy(x1,t1,x1,m1);
set(H2,'LineStyle','--');
set(AX,'XTick',[]);
set(AX,'YTick',[]);
hold on
t2=400*sin(2*alpha)/2;
m2=400*(cos(alpha)-cos(alpha).^3);
x2=846+400*cos(2*alpha)/2;
[AX,H1,H2]=plotyy(x2,t2,x2,m2);
hold off;
set(H2,'LineStyle','--')
set(AX,'Xlim',[0 1100]);
set(AX,'Ylim',[0 200]);
set(AX(1),'XTick',0:100:1100);
set(AX(2),'XTick',[]);
set(AX,'YTick',0:50:200);
set(get(AX(1),'Ylabel'),'String','剪应力');
set(get(AX(2),'Ylabel'),'String','有效力矩');
xlabel('主应力');
title('剪应力与有效力矩图');

[AX, H1, H2] = plotyy(x,y1,x,y2,'plot','plot');
set(AX(1),'Ylim',[2,6]) %设置左侧y轴的显示范围
set(AX(2),'Ylim',[2,6])
set(AX(1),'yTick',[2:1:6])%设置左侧y轴刻度
set(AX(2),'yTick',[2:1:6])

根据以下代码(供参考),按你的要求修改,可以得达到如下效果(左:系统默认;右:按自己要求设定)

hl1 = line(n,Pe,'Color','r');

ax1 = gca;

set(ax1,'XColor','r','YColor','r')

ax2 = axes('Position',get(ax1,'Position'),'YAxisLocation','right','Color','none','XColor','k','YColor','k');

hl2 = line(n,Ttq,'Color','k','Parent',ax2);

set(ax2,'YColor','k')

set(hl1,'LineStyle','-')

set(hl2,'LineStyle','*')

xlimits = get(ax1,'XLim');

ylimits = get(ax1,'YLim');

xinc=500;yinc=10;

set(ax1,'YTick',[ylimits(1):yinc:ylimits(2)])

xlimits = get(ax2,'XLim');

ylimits = get(ax2,'YLim');

xinc=500;yinc=20;

set(ax2,'YTick',[ylimits(1):yinc:ylimits(2)])

xlabel('发动机转速n(r/min)');

set(get(ax1,'Ylabel'),'String','发动机功率Pe(kW)') 

set(get(ax2,'Ylabel'),'String','发动机转矩Ttq(N·m)')

title('汽车外特性曲线图'); 

grid on



alpha=0:0.01:pi/2;
t1=286*sin(2*alpha)/2;
m1=286*(cos(alpha)-cos(alpha).^3);
x1=633+286*cos(2*alpha)/2;
[AX,H1,H2]=plotyy(x1,t1,x1,m1);
set(H2,'LineStyle','--');
set(AX,'XTick',[]);
set(AX,'YTick',[]);
hold on
t2=400*sin(2*alpha)/2;
m2=400*(cos(alpha)-cos(alpha).^3);
x2=846+400*cos(2*alpha)/2;
[AX,H1,H2]=plotyy(x2,t2,x2,m2);
hold off;
set(H2,'LineStyle','--')
set(AX,'Xlim',[0 1100]);
set(AX,'Ylim',[0 200]);
set(AX(1),'XTick',0:100:1100);
set(AX(2),'XTick',[]);
set(AX,'YTick',0:50:200);
set(get(AX(1),'Ylabel'),'String','剪应力');
set(get(AX(2),'Ylabel'),'String','有效力矩');
xlabel('主应力');
title('剪应力与有效力矩图');


在matlab中怎么实现双y轴画图?
第一种方法:直接将原来画图的x数据加上800后再画图第二种办法:在原的图画完之后加一句 set(gca,'xticklabel',{'800','900','1000','1100','1200','1300'});第二种办法,如果x轴上显示坐标的个数超过6个的时候,第7个后面又重新从800、900开始,而第一种办法不会这样。

MATLAB绘制双y轴图形两种方法
在MATLAB的世界里,绘制双y轴图形是一项常见的需求,提供了两种主要的解决方案:plotyy和yyaxis。尽管plotyy自2016版起不再推荐,但yyaxis凭借其灵活性和广泛的应用,成为绘制双轴图形的首选工具。plotyy大展身手 通过plotyy,你可以轻松地在同一个图表上呈现两个数据集,一个与左y轴相连,如数据集1(如...

Matlab:利用yyaxis函数绘制双y轴图像
在Matlab中,yyaxis函数是绘制双y轴图像的得力工具。首先,理解其基本用法是关键。yyaxis函数的常见形式是2种:yyaxis left--yyaxis right,这种写法直观地指示在左侧和右侧分别设置y轴。另外,更简洁的写法是yyaxis(ax,___),这里的ax参数用于指定轴对象。绘制出双y轴曲线后,可以进一步美化图像。例如,...

matlab双y轴坐标怎么设置
2、保存和运行上述脚本,在工作区(Workspace)双击norm可以查看生成的标准正态分布数据。3、绘制双y轴的标准正态分布函数图形,其中左侧y轴用条形图(bar)绘制,右侧y轴用线形图绘制(plot)。继续添加代码如下:[hAx,hLine1,hLine2]=plotyy(x,norm,x,norm,'bar','plot');set(hLine2,'Color',...

如何用matlab实现双y坐标的绘图,以及控制两个Y坐标轴的名称?
-0.05*x).*sin(x);\\x0d\\x0ay2 = 0.8*exp(-0.5*x).*sin(10*x);\\x0d\\x0a[AX,H1,H2] = plotyy(x,y1,x,y2,'plot');\\x0d\\x0aset(get(AX(1),'Ylabel'),'String','Slow Decay') %左侧y轴\\x0d\\x0aset(get(AX(2),'Ylabel'),'String','Fast Decay'...

matlab 怎么设置双Y轴的刻度,,就是用plotyy命令的
[AX, H1, H2] = plotyy(x,y1,x,y2,'plot','plot');set(AX(1),'Ylim',[2,6]) %设置左侧y轴的显示范围set(AX(2),'Ylim',[2,6])set(AX(1),'yTick',[2:1:6])%设置左侧y轴刻度set(AX(2),'yTick',[2:1:6]) 本回答由电脑网络分类达人 郭强推荐 举报| 答案纠错 | 评论(1) 12 ...

MATLAB双Y轴画图坐标轴设置问题
alpha=0:0.01:pi\/2;t1=286*sin(2*alpha)\/2;m1=286*(cos(alpha)-cos(alpha).^3);x1=633+286*cos(2*alpha)\/2;[AX,H1,H2]=plotyy(x1,t1,x1,m1);set(H2,'LineStyle','--');set(AX,'XTick',[]);set(AX,'YTick',[]);hold on t2=400*sin(2*alpha)\/2;m2=400*(cos(...

matlab里怎么画一个x轴两个y轴的图
在MATLAB中,如果需要绘制出具有不同纵坐标标度的两个图形,可以使用plotyy绘图函数。调用格式为: plotyy(x1,y1,x2,y2)其中x1,y1对应一条曲线,x2,y2对应另一条曲线。横坐标的标度相同,纵坐标有两个,左纵坐标用于x1,y1数据对,右纵坐标用于x2,y2数据对。双y轴坐标可以用plotyy(x,y1,x,y2...

如何用matlab画4条双y轴的图,2条以左边y轴为准,2条以右边y轴为准
假设你的y1 y3用左边的坐标轴,y2,y4用右边的坐标轴:x = 0:0.01:20;y1 = 200*exp(-0.05*x).*sin(x);y2 = 0.8*exp(-0.5*x).*sin(10*x);y3 = y1+40;y4 = y2+0.3;figure;hold on;[AX,h1,h2] = plotyy(x,y1,x,y2,'plot');[~,h3,h4] = plotyy(x,y3,x...

matlab双y坐标轴上下
set(get(AX(1),'Ylabel'),'String','Slow Decay') %左侧y轴 set(get(AX(2),'Ylabel'),'String','Fast Decay') %右侧y轴 xlabel('Time (\\musec)')title('Multiple Decay Rates')set(H1,'LineStyle','--')%对应第一条曲线的线性y1 set(H2,'LineStyle',':')%对应第一条曲线的线性...

美溪区18361265663: 如何用matlab实现双y坐标的绘图,以及控制两个Y坐标轴的名称 -
逄转炎可: 用plotyy,例如:x = 0:0.01:20; y1 = 200*exp(-0.05*x).*sin(x); y2 = 0.8*exp(-0.5*x).*sin(10*x); [AX,H1,H2] = plotyy(x,y1,x,y2,'plot'); set(get(AX(1),'Ylabel'),'String','Slow Decay') %左侧y轴 set(get(AX(2),'Ylabel'),'String','Fast Decay') %右侧y轴 xlabel('...

美溪区18361265663: 在Matlab中怎么用subplot在同一位置绘制双Y轴坐标的图 -
逄转炎可: 先解释一下,subplot 不是画图的程序,而是图形定位的程序(简单点说就是你的图形要放在窗口的哪个位置,eg: subplot(121)共有图形1行2列 此图位于图1).绘制双Y图 用 plotyy(x,y,x,z,'plot','semilogy') ,这条命令是话 x-y 和x-z 的图,而画图的函数分别用的是plot 和 semilogy .想要在同一个坐标系中绘制不同的函数图 用hold on 命令

美溪区18361265663: matlab 如何花两个y轴的图 -
逄转炎可: plotyy,具体用法看一下帮助文件

美溪区18361265663: 如何利用matlab的plotyy函数画双坐标图??
逄转炎可: ????具有两个纵坐标标度的图形 在MATLAB中,如果需要绘制出具有不同纵坐标标度的两个图形,可以使用plotyy绘图函数.调用格式为: plotyy(x1,y1,x2,y2) 其中x1,y1对应一条曲线,x2,y2对应另一条曲线.横坐标的标度相同,纵坐标有两...

美溪区18361265663: matlab 双y轴绘图能否多条线跟你共用一个y轴? -
逄转炎可: x = 0:0.01:10; y1 = 200*exp(-0.05*x).*sin(x); y2 = 100*exp(-0.05*x).*sin(x); y3 = 1*exp(-0.5*x).*sin(10*x); y4 = 2*exp(-0.5*x).*sin(5*x); plotyy(x,[y1;y2],x,[y3;y4])

美溪区18361265663: MATLAB软件画图,如何对双Y轴分别进行说明?
逄转炎可: M=plotyy(x,y,x,y2) xlabel('xxxxxxx') ylabel(M(1),'y1') ylabel(M(2),'y2')

美溪区18361265663: matlab 有一个x两个y 两个y用主次坐标轴 怎们弄呀 -
逄转炎可: 用plotyy来画 PLOTYY(X1,Y1,X2,Y2) 左边一个y轴,右边一个y轴

美溪区18361265663: matlab中for循环画双Y轴散点图坐标重叠问题
逄转炎可: t = 1:50:1000; x = t.^2; y = 2*t; [Ax,h1,h2]=plotyy(t,x,t,y); set(h1,'linewidth',2,'marker','*') set(h2,'linewidth',2,'marker','diamond')

美溪区18361265663: 话说用MATLAB双坐标轴绘图,需要放进去5个数据的时候,一个x,两个y1,两个y2,要怎么放啊
逄转炎可: plotyy (x,[y1 y3],x,[y2 y4]); 这样就可以了

美溪区18361265663: MATLAB中双纵坐标怎样限定坐标轴的范围就是要对x轴和两个y轴都要进行坐标轴显示限定! -
逄转炎可:[答案] x=0:0.01:2*pi; y1=sin(x); y2=cos(x)*100; h=plotyy(x,y1,x,y2); set(h(1),'ylim',[-2,2]) set(h(2),'ylim',[-150,150])

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网