gpt4 book ai didi

MATLAB - 重新定义 YTickLabel

转载 作者:太空宇宙 更新时间:2023-11-03 19:44:20 24 4
gpt4 key购买 nike

我在 MATLAB 中编辑颜色栏时遇到问题。绘制了颜色条,我想为 YTickLabels 上的特定测量添加单位 (dB)。这是通过以下命令完成的:

cy = get(ch,'YTickLabel');  
set(ch,'YTickLabel',[]);
set(ch,'YTickLabel',strcat(cy,{' dB'}));

但是当我调整图形大小时,MATLAB 重新定义了间隔,并且输出重复了两次,例如:

10 dB、20 dB、30 dB、10 dB、20 dB、30 dB 而不是 10 dB、20 dB、30 dB。

如何防止 MATLAB 重新定义其 Y 轴刻度,以免弄乱我的颜色栏?

最佳答案

为了防止在调整图形大小时更改 y 轴刻度值,您将必须显式设置 'YTick' property或设置 'YTickMode' property'manual' (以防止它被自动更改)。您可能还必须显式设置 'YLim' property以及(或将 'YLimMode' property 设置为 'manual')以防止颜色条的限制发生变化。这是一种可能的解决方案:

labels = get(ch,'YTickLabel');    %# Get the current labels
set(ch,'YLimMode','manual',... %# Freeze the current limits
'YTickMode','manual',... %# Freeze the current tick values
'YTickLabel',strcat(labels,{' dB'})); %# Change the labels

您还可以在初始调用 COLORBAR 时创建颜色条时定义刻度属性。功能。例如,如果您知道要在 10、20 和 30 处添加 3 个刻度值,并在标签中添加“dB”,则可以按以下方式创建颜色条:

ch = colorbar('YLim',[10 30],...                        &# The axis limits
'YTick',[10 20 30],... %# The tick locations
'YTickLabel',{'10 dB','20 dB','30 dB'}); %# The tick labels

当调整图形大小时,这些限制、刻度值和刻度标签也应保持不变。

关于MATLAB - 重新定义 YTickLabel,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2349034/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com