dream 发表于 2006-6-6 22:15

如何用LEGEND注释双YY轴图象(MATLAB)

如何用LEGEND注释双YY轴图象
legend(' ',' ');
用上边的式子只能标注左边y轴图像,右边的无法标注
请大家指点下!多谢!

chinapope 发表于 2007-3-20 15:46

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 编辑 ]

pepperl 发表于 2007-4-27 09:21

legend('', );
xlabel('');
ylabel('');
页: [1]
查看完整版本: 如何用LEGEND注释双YY轴图象(MATLAB)