matlab怎么画两个X轴

在matlab中怎么画两个横轴,横轴是时间,纵轴是对应的值,由于时间段不同,所以想用两个X轴,怎么才能实现啊,谢谢指导。

1、首先在电脑中打开matlab软件,输入figure(111);也就是创建一个图形窗口,窗口的名称是111。

2、创建后图形后,图形的系统是axes。此时创建第一个axes,句柄为ax2。

3、此时可以通过plot画图,其中自定义部分是显得属性。

4、接着对ax2进行句柄set。其中最重要的set内容是Y轴的位置。“YAxisLocation” ‘Life’或者“Right”,另外需要将box off。

5、既然是双Y轴,通过前面已经创建了一个Y轴。只需要灵活使用上面的代码就可以创建另一个Y轴。然后运行程序,就完成了。

6、此时,生成的figure(111)就是一个双Y轴的图形。

温馨提示:内容为网友见解,仅供参考
第1个回答  推荐于2017-10-09

以下解答仅供参考

对于楼主的问题,常见的解决办法是双坐标系。

1)双纵轴坐标系

双坐标系一般又是共横轴,异纵轴。可否让原来的y当横轴,不同的x轴当y轴呢?

双坐标系画图命令:plotyy(x,y1,x,y2);

给个例子:

x=-pi:2*pi/100:pi;

y1=sin(x);

y2=x;

plotyy(x,y1,x,y2);

 

2)双横轴坐标系:

给个例子

%第一个图

x1=linspace(-6,6); 

plot(x1,sin(x1)); 

set(gca,'xcolor','b');

box off;

ylim([-2,2]); 

%第二个图 

axes; 

x2=linspace(-1,1);

h=plot(x2,2*sin(x2),'r'); 

set(gca,'xaxislocation','top','color','none','xcolor','r'); 

box off;

ylim([-2,2]);

 

本回答被提问者和网友采纳
第2个回答  推荐于2017-10-04

给个列子参考:
x1 = [0:.1:40];
y1 = 4.*cos(x1)./(x1+2);
x2 = [1:.2:20];
y2 = x2.^2./x2.^3;
hl1 = line(x1,y1,'Color','r');
ax1 = gca;
set(ax1,'XColor','r','YColor','r')
ax2 = axes('Position',get(ax1,'Position'),...
          'XAxisLocation','top',...
          'YAxisLocation','right',...
          'Color','none',...
          'XColor','k','YColor','k');
hl2 = line(x2,y2,'Color','k','Parent',ax2);

第3个回答  2012-12-22
不能把第2个时间段移到第一个时间段吗?
比如说t2慢了10秒,可以移到和t1相同的位置吗?
t2=t2-10*ones(1,n)追问

我的意思是一个时间段是从14:30到15:30,另一个时间段是17:30到18:30.我要分隔5分钟标一个,所以不能用一个横轴啊

追答

你把17:30到18:30每个时间都减去3小时,可以吗?
或者把两组数据时间轴都换成0:00-1:00,然后注释曲线A是14:30-15:30,曲线B是17:30-18:30。

相似回答