程序如下:
x=0:0.02:20*pi;
y1=0.5*exp(0.04*t)-0.5*exp(0.04*t).*cos(2*t);
y2=0.5*exp(0.04*t)+0.5*exp(0.04*t).*cos(2*t);
[ax,h1,h2]=plotyy(x,y1,x,y2); %h-- line handle
set(get(ax(1),'Ylabel'),'string','y1','color','r') %y1
set(get(ax(2),'Ylabel'),'string','y2','color','k') %y2
box off
%set(ax(:),'Ycolor','k') %设定两个Y轴的颜色为黑色
set(ax(1),'ytick',[0:5:20]); %设置y轴间隔
set(ax(2),'ytick',[0:5:20])
set(ax,'xlim',[0 60]) % 设置x轴范围
hold on
当把y轴坐标调范围改为:0:5:10,y轴的显示范围没有改变,仅仅是刻度的显示范围发生变化(即:y轴显示高度是0:20,刻度显示范围为0:10),请问大家这是什么问题?如何解决。如果可以,麻烦给出改进的具体程序。
程序中的y轴高度是20,调整ylim为0:10,显示的坐标数字改为0:10(10:20的坐标显示为空白),而显示的整体的y轴高度仍然是20。
PS:如果问题能够得到解决,可以+分。
建议你先试试我的程序,发现一下问题,然后告诉我如何解决问题。
追答试过了,一幅图上有两个纵轴y1在左边,y2在右边,刻度都是0、5、10、15。
请问您要改哪里?
是要改成这个图的样子吗??
不知道为什么图片不能上传。是你给的图示的样子,但是你的图的y轴为什么能随意调动显示范围呢?而我的图却不会改变,仅仅是刻度显示从原来的0到20变为0到10,刻度高度仍然不变。请问您有QQ吗?有的话麻烦加下我,具体指导我一下如何解决这个问题。
我的QQ:五四久二O七六留溜
具体方法在上面已经说过了,你set的ytick属性只是设置纵轴刻度的,要设置纵轴显示上下限为从0到10的话需要设置ylim属性,将下面这句改为:
set(ax(1),'ytick',[0:5:20]);
set(ax(1),'ylim',[0 10]); %ylim的参数为二元数组,要写[0 10],切记不能写[0:10]
即可。同样的,改y2也是同理。