如何避免MATLAB中yline绘制的水平线标签出现重叠问题
MATLAB重合yline标签重叠解决方案
- 由于两条水平线数值完全一致,同时传入标签数组调用
yline时,标签默认排布位置完全相同就会出现重叠,可通过以下三种方案解决:
方案1:调整标签垂直位置错开
分开调用两次yline,分别设置标签的垂直对齐属性,让两个标签分别显示在水平线的上下两侧:
ymax = 0; ymin = 0; % Max标签显示在水平线上方 yline(ymax,'-','Max','LabelVerticalAlignment','bottom') % Min标签显示在水平线下方 yline(ymin,'-','Min','LabelVerticalAlignment','top') set(gca,'ylim',[-10,100])
方案2:调整标签水平位置错开
如果希望标签垂直位置统一,可分别设置水平对齐属性,让两个标签分别排布在图的左右两侧:
ymax = 0; ymin = 0; yline(ymax,'-','Max','LabelHorizontalAlignment','left') yline(ymin,'-','Min','LabelHorizontalAlignment','right') set(gca,'ylim',[-10,100])
方案3:合并标签(适用于最大最小值逻辑上相等的场景)
如果你的业务场景中当前工况最大值和最小值本身就是相等的,可直接合并为单个标签减少冗余:
yval = 0; yline(yval,'-','Max=Min') set(gca,'ylim',[-10,100])
内容的提问来源于stack exchange,提问作者Noob_99
相关产品推荐
相关产品推荐

