- 积分
- 42
- 注册时间
- 2005-10-22
- 仿真币
-
- 最后登录
- 1970-1-1
|
发表于 2009-7-19 21:19:04
|
显示全部楼层
来自 广西贵港
本帖最后由 shunfly 于 2009-7-19 21:21 编辑
如果仅仅应付交稿,很多方法,10#即其一
如果需要方便的定制LEGEND,那么,SET,GET,完全可以定制
注意,Legend的Posi,Child属性
Child设置Xdata和Pos即可实现任意定制
顺手写了个,自己试试完善吧
可以作为一个输入排列方式,类于[2,2],[4,1],[1,4]等待的函数
- x = -pi:pi/20:pi;
- x1=1:10;x2=21:30;
- y1=ones(1,10)*0.4;y2=ones(1,10)*0.6;
- hPlot = plot(x,sin(x),'-ro',x,cos(x),'-.b',x,sin(2*x),'-go',x,cos(2*x),'-.r');
- hLeng = legend('sin','cos','sin(2x)','cos(2x)') ;
- pos = get(hLeng,'posi');
- pos(3)=pos(3)*2;
- % pos(4)=pos(4)/2;
- set(hLeng,'posi',pos);
- dd = get(hLeng,'child');
-
- xdata = get(dd(1),'xdata');
- xdata = xdata/2;
- set(dd(1),'xdata',xdata);
-
- xdata = get(dd(2),'xdata');
- xdata(2) = xdata(2)/2;
- set(dd(2),'xdata',xdata);
-
- xpo = get(dd(3),'posi');
- xpo(1) = xpo(1)/2;
- set(dd(3),'posi',xpo);
- xdata1 = get(dd(2),'xdata');
- xdata = get(dd(5),'xdata');
- xdata = [0.5 0.5+ xdata1(2)-xdata1(1)];
- set(dd(5),'xdata',xdata);
- set(dd(5),'ydata',get(dd(2),'ydata'));
-
- xdata = 0.5+ (xdata1(2)-xdata1(1))/2;
- ydata = get(dd(2),'ydata');
- set(dd(4),'xdata',xdata(1),'ydata',ydata(1));
-
- xpo = get(dd(3),'posi');
- xpo(1) = 0.5+ xdata1(2)-xdata1(1)
- xpo(2) = get(dd(1),'ydata');
- set(dd(6),'posi',xpo);
复制代码 |
评分
-
1
查看全部评分
-
|