我如何跳过图例中的项目?

7391次浏览(过去30天)
亨利王
亨利王 2011年1月25日
评论: 卡尔Witthoft2021年9月8日15:22
我如何跳过传奇中的项目?假设我有6个带有3个实际值和3条插值曲线的图。我只想标记实际的值曲线
传奇(“第一”,'',“第二”,'',“第三”)
这行不通,因为插值曲线还是会显示出来。
13评论
格雷格•维埃拉
格雷格•维埃拉 2021年9月4日下午2:30
如何对多个绘图执行此操作?例如,我绘制了1001个数据集,只希望图例显示前1000个绘图和最后一个绘图中的1个。我不合理地放置999''占位符。

登录评论。

接受的答案

肯尼斯·伊顿
肯尼斯·伊顿 2011年1月25日
编辑:MathWorks支万博1manbetx持团队 2021年3月16日
从R2021a开始,您可以离开 通过将相应的标签设置为空,从图例中提取项 特征向量。
例如,画三条线。然后调用legend函数 并指定第二个图例标签为空字符向量。 对应的行从图例中省略。
情节(兰德(3));
传奇(1号线的,'',3号线的)
注意,当您指定时,此策略有效 只是 标签, 当你指定一组对象时就不是这样了 包括在传说中 .
5个评论
托默纳肖恩
托默纳肖恩 2021年3月24日
@Zheng刘 精彩的回答,
谢谢你!

登录评论。

更多的答案(10)

沃尔特·罗伯森
沃尔特·罗伯森 2011年1月25日
编辑:约翰·凯利 2015年2月26日
对于不希望使用图例的项目,可以将IconDisplayStyle设置为关闭。看到 这个文档 .
4评论
Nuwan Liyanage
Nuwan Liyanage 2020年8月25日
这真的很有帮助,谢谢!

登录评论。


Junette新
Junette新 2019年3月21日
编辑:Junette新 2019年3月21日
我遇到了这个问题,我还没有看到这个方法的建议,但我通过改变绘制线的顺序来解决它,这会影响图例的显示(我使用的是MATLAB R2017b)。
假设你先画两条线,然后创建一个图例。然后画第三条线。第三行将作为“data 1”添加到图例中。
相反,绘制3行,然后在图例中,只标记前2行。第三行将从图例中删除。
希望这个有帮助。
4评论
布伦特F
布伦特F 2021年6月22日
@吉姆·托蒂 是的!向上投票他的解决方案:图例({'A','B','AutoUpdate','off'))

登录评论。


亚辛·扎马尼
亚辛·扎马尼 2019年9月25日
编辑:亚辛·扎马尼 2019年9月25日
例如,假设您想跳过图例中第一个情节的名称:
X = linspace(0,2 * pi);
% sin (x)
h=曲线图(x,sin(x));
%下面的行跳过图例中前面情节的名称
h、 Annotation.LegendInformation.IconDisplayStyle=“关闭”;
% cos (x)
情节(x), cos (x));
%的传说
传奇(“因为”);
3评论
卡尔Witthoft
卡尔Witthoft 2021年9月8日15:22
似乎对“填充”对象不起作用

登录评论。


骑自行车的人
骑自行车的人 2011年1月25日
每个曲线都有一个句柄,可以从属性中获得。使用带两个参数(handle和legend)的legend形式,并且只使用要显示的曲线的句柄。

鲍里斯·布拉格杰维克
另一种方法:防止图例更新
首先,绘制您想要标记的线。然后,指定图例和集合
传奇(...“自动更新”,“关闭”)
然后,绘制剩下的线条

Dilshad Raihan
Dilshad Raihan 2015年10月26日
编辑:Dilshad Raihan 2015年10月26日
您可以先按顺序绘制曲线,这样您不想在图例中显示的线就会出现在最后。也就是说,假设你有N条线要绘制,但你不想在图例中显示其中的m条。然后首先绘制所需的N-m行,然后绘制剩余的m行。之后,打开图例,点击图例,“图例属性编辑器”将显示出来。转到“更多属性”选项。您可以看到一个标题为“String”的条目,指定为“1xN cell array”。点击单元格数组图标,设置大小为“1xN-m”。现在,只有第一个N-m曲线将显示在Legend中。
1评论
哈里什·普鲁里
哈里什·普鲁里 2016年9月26日
谢谢你,先生,给了我答案

登录评论。


Diaa
Diaa 2020年11月17日
编辑:Diaa 2020年11月17日
你可以简单地通过以下方法删除最后一个不需要的条目:
%假设您在这条线之前绘制了一些曲线,并且希望在图例中显示它们
hleg =传奇(“表演”);
情节(x, y)你不需要在传说中有这样的情节
hleg.String(结束)= [];%删除最后一个情节的最后一个图例条目
%继续绘图,同时在图例中任何不需要的绘图之后立即复制粘贴上一行
1评论
阿米尔Semnani
阿米尔Semnani 2021年6月9日
谢谢。这对我很有用(Matlab2017b),而且非常简单。假设我们有8个数据集,我们想绘制所有数据集,但只想看到偶数数据集的图例。
x = 1 (100 1) * (1:8);情节(x); ylim ([0 9]);Hleg = legend ('show');hleg.String (1:2) = [];

登录评论。


阿卡什文德兰花
阿卡什文德兰花 2015年11月26日
为什么这个错误不断出现?
<<
>>
3评论
沃尔特·罗伯森
沃尔特·罗伯森 2016年11月17日
不,在每种情况下,z w c等都是没有空格的表达式,[z w c…]与[z,w,c…]相同
表达式中的空格有时会触发解析,就好像有多个表达式一样。例如:
[1 2 * x]
被认为是两个表达式,1和-2*x

登录评论。


路加福音马斯登
路加福音马斯登 2017年2月2日
我试着用这行代码做类似的事情:
[p4 RETU_Average activity1 Vulcanian1],“倾斜”,“RETU平均振幅”,“活动”,“火山的“爆炸”,“位置”,“东北”);
我得到这个错误:
错误使用matlab.graphics.chart.primitive.Line/horzcat
不能将双精度值23转换为句柄
错误在p1_zoom_plot(第93行)中
[p4 RETU_Average, actiy1 Vulcanian1],“倾斜”,“RETU平均振幅”,“活动”,“火山的“爆炸”,“位置”,“东北”);
4评论
里克
里克 2021年8月11日
@布伦特F 次要情节只是一个新情节 对象,因此任何方法都应该可以工作。使用时要小心 gca 或者根本不提供句柄时,如最后一个 与用户交互将是您通话的目标。

登录评论。


胡安·卡洛斯·德卢纳
在“绘图浏览器”中选择行并键入
设置,“注释”),“LegendInformation”),“IconDisplayStyle”,“关闭”)

s manbetx 845

社区寻宝

在MATLAB Central中查找宝藏,了解社区如何帮助您!

开始狩猎!