24小时热门版块排行榜    

查看: 255  |  回复: 1

安仙儿

新虫 (小有名气)

[求助] 在mtalab中画双坐标的有关问题

i=0:0.1:2;
f0=(besselj(0,i)).^2;        %n取0时
f12=(besselj(1,i)).^2;       %n取1时
f1=f12./f0;
f22=(besselj(2,i)).^2;       %n取2时
f2=f22./f0;
f32=(besselj(3,i)).^2;       %n取3时
f3=f32./f0;
f42=(besselj(4,i)).^2;       %n取4时
f4=f42./f0;
[AX,H1,H2]=plotyy(i,f1,i,f3);
set(get(AX(1),'Ylabel'),'Color','b');
set(get(AX(2),'Ylabel'),'Color','r');
set(H1,'LineStyle','-','color','b');
set(H2,'LineStyle','-','color','r');
hold on;
plot(i,f2,'LineStyle','--','color','b');
以上是我编写的程序,运行没有问题,但对于我想实现的存在下述问题:
1.我想将f4与f3画在同一纵坐标(右边)下该如何实现呢?用hold on的话只能添加在左边纵坐标下。
2.左右纵坐标我想自定义颜色,但是,上述程序没有实现,我不知是何原因。
3.如何加入横轴和纵轴的标签呢?
请教各位高手,十分感谢,呵呵
回复此楼

» 猜你喜欢

» 本主题相关价值贴推荐,对您同样有帮助:

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

somomo91

专家顾问 (职业作家)

【答案】应助回帖

★ ★ ★
感谢参与,应助指数 +1
xiegangmai: 金币+3, 谢谢参与! 2013-06-28 23:00:02
这个情况下,不能用 plot 或者 plotyy
得用更低层的函数  line
具体如下 :
===================================
hl1 = line(i,f1,'Color','b'); hold on;
hl2 = line(i,f2,'Color','b');
ax1 = gca;
set(ax1,'XColor','b','YColor','b')
ax2 = axes('Position',get(ax1,'Position'),'XAxisLocation','top','YAxisLocation','right','Color','none');
set(ax2,'XColor','r','YColor','r')
hl3 = line(i,f3,'Color','r','Parent',ax2);
hl4 = line(i,f4,'Color','r','Parent',ax2);
===================================
2楼2013-06-27 06:41:42
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 安仙儿 的主题更新
信息提示
请填处理意见