如何用LEGEND注释双YY轴图象(MATLAB)
如何用LEGEND注释双YY轴图象legend(' ',' ');
用上边的式子只能标注左边y轴图像,右边的无法标注
请大家指点下!多谢! Matlab的Graph是按“面向对象“设计的。
双YY轴实际上是两个AXES Objects,只不过X轴重复吧了。图上的曲线是Line Objects,是Axes的子类。而LEGEND命令被系统执行时,是从父类 --- 当前的Axes ( 默认的,可以通过命令 gca 得到它的handler ), 操作到所属的每个Line or patch or surface object。 既然现在是有两个AXES, 必须进行切换,分别使用两个legend(axes1or2, .....);
更合理的做法:
把来自二个AXES所有的Line Objects所对应的handler组织到一起,比如hlines数组, 使用一个legend(hlines, ....); 就可以了。
总之,Matlab的Graph命令所涉及的对象如Figure, AXES,Line等等都是一个个的objects, 各有不同的属性和子类objects。 都是可以用set命令进行微操的。 Handler 即是 Object 的别名,是个由系统生成的数而已,保证绝对不会有重复的。对Object的定位,通过找到它的handler就可以了。 另外,注意区分Property和Object。
一点理解,希望具体问题具体分析。$bye$
So let's face the problem. At first,getting TWO handlers each of them presents a Y line objectand then grouping both into a array like "hlines". At last,legend(hlines,"string for Y1", "string for Y2").That should be OK.
I have tried to explain the problem in chinese at the beginning. That should be a general solution to ALL OF KINDS GRAPHICS in MATLAB.
[ 本帖最后由 chinapope 于 2007-4-27 17:10 编辑 ] legend('', );
xlabel('');
ylabel('');
页:
[1]