matlab高级绘图时间距离图像,Matlab中的高级绘图(图例处理)

本文介绍了如何在MATLAB R2014b及以后的版本中,由于图例和色条不再属于轴对象,如何自定义基于轴的图例。通过创建新的轴并在其上绘制图例元素,调整线条和文本的位置,实现对图例的精细控制。示例代码展示了如何创建和调整图例的位置、大小以及颜色和样式,以匹配原始图例。
摘要由CSDN通过智能技术生成

如MatLab online documentation中所述,从R2014b开始,色条和图例不再是轴对象。

这限制了可能在legend上工作以实现目标的可能性。

可能的解决方案是按照以下步骤创建自己的基于轴的图例:

使用以下语法[lgd,icons,plots,txt] = legend(___)创建调用legend函数的图例(注意,不建议使用此语法,我们将在后续步骤中删除图例,因此不会出现问题)

获取传奇的位置

标识图例中的项目数

对于图表中的每一行,图例中有三个项目(line,marker和text)

如果图表中有六行,则图例句柄将按以下顺序包含18对象:

6个处理text

对于6行中的每一行

该行的句柄

标记的1个句柄

获取图例中项目的数据:

行数据:XData,YData,Color,'LineStyle`

文字资料:string,position

删除原始图例

将axes添加到图中,其位置和大小等于原始图例

在此轴上绘制代表图例的线条(您已获得前面步骤的数据)

缩小线条,只减少减少XData第二元素的值

将图例文本对应添加到该行(使用text函数。由于在上一步中您已经恢复了要在左侧移动文本的行的长度

减小axes的大小:

您可以使用text项目的Extent属性来识别较长的项目的长度

然后添加相应行的长度

使用上述步骤中计算的值更新axes位置(其width)

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值