【发布时间】:2015-05-17 12:01:44
【问题描述】:
我正在使用 MATLAB 连续生成多个不同数据集的图。我希望图例位置不会在绘制的线上重叠,如果可以自动完成此放置,那将是理想的。
我知道将'Location' 设置为'best' 来实现这一点,但是当使用'best' 时,图例的位置往往很尴尬(如下)。另外,我希望传说在情节中。我还遇到了一种使图例透明的方法(here),这样它就不会使绘制的数据不可见,但是我正在寻找将图例明确放置在其他地方的方法。
有没有办法自动将图例放置在图像的极端('NorthWest'、'SouthWest' 等)上,这样它就不会与绘制的数据重叠(与方法不同上面建议)?
【问题讨论】:
-
也许您可以使用
Position属性而不是Location?这需要一些小的调整。你可以做的就是列出你认为合适的位置,比如说,4-6个位置,然后检查这些位置的数据。例如,在给定的图中,计算前 5 个 x 值的较低范围可用并不难,因此这将是放置图例的合适位置。 -
现在不能尝试这个——但是如果你使用
best,确定图例的位置(我确定它是你可以阅读的属性),找出最近的角落然后把它滑过去?应该可以使用所需的轴作为参数调用这个小函数。
标签: matlab plot legend legend-properties