matlab图片不覆盖,放置MATLAB图例,使其在图上不重叠

那么,您是否尝试过使用Location而不是Position?例如:

x =1:100;

y = x.^2;

lgd = legend('y = x.^2');

set(lgd,'Location','best')

而你得到奇怪的结果是正确的?解决这个问题的一种快速方法是仍然使用最佳位置,并提取坐标:

lgd.Position

你应该得到这样的东西:

ans =

0.7734 0.3037 0.1082 0.0200

映射到:

[left bottom width height]

您需要关注左侧和底部.这两个值(左和底)指定从图的左下角到图例的左下角的距离,它们类似于您正在使用的网格框架.

然后,根据框架的大小(我建议您使用轴([XMIN XMAX YMIN YMAX]),如果可能),您可以精确定位图形在网格中的位置.接下来你要做的是检查图中的图形是否与图例交叉路径(可能根据某个距离阈值定义相对距离函数),如果是,则随机重新定位图例(即更改值)左边和底部)并重复,直到你的条件得到满足.

如果这仍然困扰你,我可以写一个简短的片段.最后,要知道您可以随时选择将图例放在外面:

set(lgd,'Location','BestOutside')

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值