在matlab GUI中,绘制双Y轴曲线,没有什么特别要设置的地方,与matlab中操作基本一样。
实例需要两个控件:一个按钮,一个axes。在axes中绘制一条正弦曲线,一条余弦曲线。
在按钮控件的callback函数添加下面代码,实现双Y轴曲线的功能。
i = -pi:0.1:pi;
vv = sin(i);
ii = i.*i;
axes(handles.axes1)
[AX,h1,h2]=plotyy(i , vv , i , ii);grid on;
set(AX(1),'ylim',[min(vv) max(vv)]);
set(AX(2),'ylim',[min(ii) max(ii)]);
set(AX(1),'yTick',[min(vv):(max(vv)-min(vv))/5:max(vv)]) %设置左边Y轴的刻度
set(AX(2),'yTick',[min(ii):(max(ii)-min(ii))/5:max(ii)]) %设置右边Y轴的刻度
set(get(AX(1),'Ylabel'),'string','正弦曲线');
set(get(AX(2),'Ylabel'),'string','抛物线');
set(h1,'linestyle','-','marker','o','color','r');
set(h2,'linestyle',':','marker','x','color','b');
xlabel('x方向');
title('双Y轴曲线展示');
legend([h1,h2,],'正弦曲线','抛物线','Location' , 'southeast'); %加注图例
运行,显示结果如下:
操作完成。