zhoulon 发表于 2009-7-19 13:40

如何对图形的图例进行分栏

我现在绘出了如图11.jpg中的图形,但是图例看起来不好看,而且遮住了一部分图形,我现在想将这个图例拿出来,标注成如图文献.jpg中的图例那样的图形,其实就是如何将我的图中的四个图例分成两行(就像文献那个图形那样),其中每一行有两个图例的问题。

zhoulon 发表于 2009-7-19 13:42

我通过利用get和set命令,用下面的代码修改为如图所示的图例,但是如何修改为我说的两行两列的图例形式呀。现在只是将图例由垂直方向改变为水平方向了。

m=legend(,'\Pi_1_1(\lambda)','\Pi_2_2(\lambda)', ...
'The vertical asymptotes of \Pi_1_1(\lambda)','The vertical asymptotes of \Pi_2_2(\lambda)');
set(m,'Orientation','horizontal')

ChaChing 发表于 2009-7-19 15:36

Ref
http://forum.simwe.com/viewthread.php?tid=334715&highlight=legend

zhoulon 发表于 2009-7-19 15:55

非常感谢,我好好研究一下。

我好好看了一下,但它是将这四个图例分成左右两个图例来画的,然后进行组合一下,但是图例不能有边框(有了就不好看了),还是不能实现我说的那样。
http://forum.simwe.com/viewthrea ... mp;highlight=legend
http://genial.ycool.com/post.138255.html

[ 本帖最后由 zhoulon 于 2009-7-19 16:25 编辑 ]

zhoulon 发表于 2009-7-19 16:53

我按照我上面帖子中的两个链接做出了下面这样的图形,但是跟这两个链接中的一样,其中有一个图例是不能往图形外面移动的,这个该如何解决。而且也像上贴中我说的,不能对图例添加边框,否则很是难看。

friendchj 发表于 2009-7-19 19:54

在Figure中点Edit->Figure Properties,然后选中legend,在属性框里就可以选择legend的位置。

zhoulon 发表于 2009-7-19 20:16

回复 6楼 friendchj 的帖子

非常感谢,但是你说的应该是通过那个location来调吧,但那个一般就是对图例整体的具体位置进行调整的,例如调整到图形的上面、下面、左面、右面,或者是各个角点位置。如果单独对某一个图例来调整的,图例的说明问题可以调整,但是图例的线型标志还在原处不动。

friendchj 发表于 2009-7-20 11:55

如果单独对某一个图例来调整的,图例的说明问题可以调整,但是图例的线型标志还在原处不动。

不太明白这句话,呵呵

zhoulon 发表于 2009-7-20 13:45

回复 8楼 friendchj 的帖子

你运行一下下面这个链接里面的这段程序就知道了,呵呵
http://genial.ycool.com/post.138255.html
t=0:pi/48:2*pi;
y1=sin(t);
y2=cos(t);
y3=y1.*y2;
y4=0.5*(y1+y2);
hold on
h1=plot(t,y1,'r-')
h11 = plot(t(1:10:end),y1(1:10:end),'*','MarkerFaceColor','r','MarkerEdgeColor
','r');
h2=plot(t,y2,'b-');
h22 = plot(t(1:10:end),y2(1:10:end),'.','MarkerFaceColor','b','MarkerEdgeColor
','b');
h3=plot(t,y3,'y');
h4=plot(t,y4,'g');
hold off
=legend(,'y1','y2',1);
legend boxoff

% matlab 6.5.1
set(objh(3),'marker','*');
set(objh(5),'marker','.');

% matlab7
%set(objh(4),'marker','*');
%set(objh(6),'marker','.');

legh2=copyobj(legh,gcf);
=legend(,'y3','y4',2);
legend boxoff

friendchj 发表于 2009-7-20 16:25

回复 9楼 zhoulon 的帖子

我也不清楚为什么,不过把legend boxoff屏蔽掉后,legend就可以自由拖动了,并且可以在其属性栏里把Edgecolor设为白色。

zhoulon 发表于 2009-7-20 23:28

回复 10楼 friendchj 的帖子

是啊,我也感觉这个很是奇怪,为什么复制了以后就不能移动了,非常感谢。

ChaChing 发表于 2009-7-21 00:44

原帖由 friendchj 于 2009-7-20 16:25 发表 http://www.chinavib.com/forum/images/common/back.gif
...把legend boxoff屏蔽掉后,legend就可以自由拖动了...
可以的! 但真的不容易选定!

zhoulon 发表于 2009-7-21 17:39

这个问题仿真论坛已经有人利用两个axes解决了,再次感谢各位。
http://forum.simwe.com/thread-889490-1-1.html

[ 本帖最后由 ChaChing 于 2009-7-21 19:25 编辑 ]

ChaChing 发表于 2009-7-21 19:35

回复 13楼 zhoulon 的帖子

嘿! 大家怎搜的地方都雷同! (振动论坛/仿真论坛/matlab中文论坛)
我还搜过mathworks官网fileexchange, 但没找着合适的!
本想直接看看并修改legend.m档, 但太长了, 最近工作较紧些, 便作罢!
还有希望LZ常来!

[ 本帖最后由 ChaChing 于 2009-7-21 19:38 编辑 ]

zhoulon 发表于 2009-7-21 20:37

回复 14楼 ChaChing 的帖子

呵呵,谢谢你这么热心,可能是这几个论坛做的比较出色吧,我会常来的。
页: [1] 2
查看完整版本: 如何对图形的图例进行分栏