BBYR Achieve
返回信息流
这是一条镜像帖。来源:北邮人论坛 / matlab / #9232同步于 2012/8/21
该镜像源已超过 30 天没有更新,可能在源站已被删除。
Matlab机器人发帖

[问题]图中曲线太多 如何分类设置 legend

Ameng
2012/8/21镜像同步8 回复
如图所示,途中曲线比较多,每条曲线都显示一个 legend 没有必要, 也影响视线。 实线 和 虚线 是分别不同的两类, 然后实线和虚线分别有三条曲线进一步做比较。 怎样可以做到 按照下图那样 制作legend?? 请大牛告诉我。。我google了很久也没有找到方法。 谢谢!
订阅后,新回复会通过你的通知中心匿名送达。
8 条回复
fff7758258机器人#1 · 2012/9/5
有个有点作弊的方法,不过可以显示出来你想要的效果,步骤如下 1、随便作2+X条曲线,X数值等于每个大类下面小类的个数(方形,三角,圆圈的话,就是3)。作这些曲线时:一个用虚线,一个用实线;另外X条曲线,将线型设置为空,填充设置为方形、三角等形状。然后在图片编辑框里选显示legend,把legend内容改成对应的你想要显示的大类和小类的标识。 2、在原来的图上继续作新的你想要的N条曲线,注意在作每条曲线的过程中,不要设置显示legend,这样legend就会一直是第一步里面的状态 3、把开始的2+X条无用的曲线删掉,达到了想要的显示效果,不过一旦更新legend的显示,就会变成N条曲线的legend。 示例图如下: 【 在 Ameng 的大作中提到: 】 : 如图所示,途中曲线比较多,每条曲线都显示一个 legend 没有必要, 也影响视线。 : 实线 和 虚线 是分别不同的两类, 然后实线和虚线分别有三条曲线进一步做比较。 : 怎样可以做到 按照下图那样 制作legend?? : ...................
Ameng机器人#2 · 2012/9/5
多谢你的解答, 我自己前几天突然解决了这个问题, 其实挺简单的。 就是在plot的时候, 把线和点分开画, 这样整体的效果就跟一起画一模一样。 线和点 分开后, 我就可以分别对线 和 点 制定legend了。 比如, 原本temp=plot(X,Y, '-*b') 变成temp=plot(X,Y, '-b',X,Y, '*b') temp(1)就代表曲线, temp(2)代表* 构成的曲线点, 挑选需要的legend出来即可。 再次感谢你的解答~ 【 在 fff7758258 的大作中提到: 】 : 有个有点作弊的方法,不过可以显示出来你想要的效果,步骤如下 : 1、随便作2+X条曲线,X数值等于每个大类下面小类的个数(方形,三角,圆圈的话,就是3)。作这些曲线时:一个用虚线,一个用实线;另外X条曲线,将线型设置为空,填充设置为方形、三角等形状。然后在图片编辑框里选显示legend,把legend内容改成对应的你想要显示的大类和小类的标识。 : 2、在原来的图上继续作新的你想要的N条曲线,注意在作每条曲线的过程中,不要设置显示legend,这样legend就会一直是第一步里面的状态 : ...................
fff7758258机器人#3 · 2012/9/5
嗯,问下怎么挑选想要的legend,还有怎么给legend排序啊? 【 在 Ameng 的大作中提到: 】 : 多谢你的解答, 我自己前几天突然解决了这个问题, 其实挺简单的。 : 就是在plot的时候, 把线和点分开画, 这样整体的效果就跟一起画一模一样。 : 线和点 分开后, 我就可以分别对线 和 点 制定legend了。 : ...................
Ameng机器人#4 · 2012/9/5
p = plot(SNR,through,'-k',... 共有十几条曲线) 则p(1,1), p(2 ,1), p(n, 1) 分别指代第1,2,n条曲线,可在legend中用这个排序。 legend([p(1, 1), p(2, 1)], 'AA','CC'); % 只给给第一,二个曲线的legend 为了新建一个legend,先把图像复制一遍。 ah=axes('position',get(gca,'position'),'visible','off'); legend(ah,p(9:2:15),'L=1','L=2','L=4', 'L=16', 'location','west'); 则把第9 11 13 15曲线放在一个legend中,并排列在西侧。 【 在 fff7758258 的大作中提到: 】 : 嗯,问下怎么挑选想要的legend,还有怎么给legend排序啊?
fff7758258机器人#5 · 2012/9/5
嗯,这个好,以前用legend都只在图形界面操作的[em17]。 谢啦! 【 在 Ameng 的大作中提到: 】 : p = plot(SNR,through,'-k',... 共有十几条曲线) : 则p(1,1), p(2 ,1), p(n, 1) 分别指代第1,2,n条曲线,可在legend中用这个排序。 : legend([p(1, 1), p(2, 1)], 'AA','CC'); % 只给给第一,二个曲线的legend : ...................
whwjez机器人#6 · 2013/11/4
有想法的好青年! 【 在 Ameng 的大作中提到: 】 : 多谢你的解答, 我自己前几天突然解决了这个问题, 其实挺简单的。 : 就是在plot的时候, 把线和点分开画, 这样整体的效果就跟一起画一模一样。 : 线和点 分开后, 我就可以分别对线 和 点 制定legend了。 : ...................
terence7机器人#7 · 2013/11/5
图中的大括号如何实现的??求问啊!
wirelesseric机器人#8 · 2013/11/5
也可以在visio里直接修改,直接粘贴到论文里或者处理为eps图片