将yaxis值替换为文本

时间:2018-05-02 13:41:05

标签: matlab

我有一份标签清单:

lnames = {'nameA','nameB','nameC'}

和索引为

的向量
Y = [1; 1; 2; 3; 2];

index(1)指的是nameAindex(2)nameB等。

我想在选择某个名称时显示:

plot(Y, 'd')

这给了我一个情节(如下更大的尺度):

enter image description here

但是,我想用标签替换y轴上的数值。因此1变为nameA2变为nameB等等。它将如下所示:

enter image description here

如何实现这一目标?

2 个答案:

答案 0 :(得分:2)

您可以为地图的轴指定YTickYTickLabel,如下所示。

h = plot(Y, 'd');
h.Parent.YTick = 1:numel(lnames);
h.Parent.YTickLabel = lnames;

答案 1 :(得分:0)

Y = [1; 1; 2; 3; 2];
yticks([1 2 3])
yticklabels({'nameA', 'nameB', 'nameC'})
plot(Y, 'd');