【问题标题】:Matlab suptitle hidding legendMatlab字幕隐藏图例
【发布时间】:2014-08-31 12:53:34
【问题描述】:

我正在使用 suptitle.m 文件在带有 3 的图形上添加主标题 次要情节。每个子图都有自己的图例。我发出后 suptitle 命令,最后一个情节的图例消失。有没有人 以前见过吗?我该如何解决这个问题?

10 年前在 Matworks 上提出了同样的问题,但没有答案。

http://www.mathworks.com/matlabcentral/newsreader/view_thread/44980

额外

如果我绘制图形,然后操纵图例位置。然后设置字幕,是最后被操纵的传说,隐藏在剧情后面。 这似乎有些信息隐藏在 suptitle.m 使用的内存中

【问题讨论】:

  • 如果您查看代码,您可以看到 suptitle() 是演示的辅助函数,并且在代码中手动设置了一些参数,这可能是导致您的问题的原因。它甚至带有警告:“警告:如果图形或轴单位是非默认的,这将中断。”下面@Naveen 给出的解决方法应该有效。
  • @Ghaul true 我也读过。我只是想知道其他人是否找到了解决方案。正如下面评论中所述,如果您按照 Naveen 所述进行操作,则子情节的标题和副标题将相互重叠。

标签: matlab plot legend subplot


【解决方案1】:

不要在写完suptitle之后替换最后的情节,而是这样使用:

figure()
suptitle('Your Title');
subplot(3,1,1)
plot.....
subplot(3,1,2)
plot.....
subplot(3,1,3)
plot.....

这样suptitle 不会干扰任何子图的图例。

【讨论】:

  • 这是不可能的,如果你在第一个子图中有一个标题,它们会相互覆盖,看起来很糟糕
【解决方案2】:

张江作为 X 射线工具箱的一部分,为字幕中消失的图例提供了解决方案。基本上,您只需要在 suptitle.m 末尾包含以下行:

% fix legend if one exists
legH = legend;
if ~isempty(legH)
    axes(legH);
end

这将重新激活丢失的图例。

关注江对suptitle.m的实现。在脚本中搜索“legend”以找到包含解决方案的代码。

索罗·萨洛莫尼

【讨论】:

    【解决方案3】:

    解决方案 我查看了代码,但无法解决问题。但是通过在最后一个情节之前创建字幕它可以工作

    figure()
    subplot(3,1,1)
    plot.....
    subplot(3,1,2)
    plot.....
    subplot(3,1,3)
    suptitle('Your Title');
    plot.....
    

    【讨论】:

      猜你喜欢
      • 2017-10-15
      • 1970-01-01
      • 2011-05-22
      • 1970-01-01
      • 2012-06-12
      • 2022-07-04
      • 1970-01-01
      • 1970-01-01
      • 2011-07-09
      相关资源
      最近更新 更多