在条形图matlab中将yaxis值从float更改为text

时间:2015-06-11 01:21:47

标签: matlab

我已经实现了使用颜色绘制条形图的代码,但我需要将y轴上的值更改为仅3个值(非常差,小于25%,差值在25%到50%之间,并且好的,超过50%)。任何帮助?

x = [0.1 0.5 1 2 3];
y = [2.0407   10.2108   19.8171   36.6688   52.2866];
xplot = 1:numel(x); 

fHand = figure;
aHand = axes('parent', fHand);
hold(aHand, 'on')

for i=xplot
    if x(i) < 0.25
        bar(i, y(i), 'parent', aHand, 'facecolor', 'red')
    elseif x(i) <= 0.5
        bar(i, y(i), 'parent', aHand, 'facecolor', 'yellow')
    elseif x(i) > 0.5
        bar(i, y(i), 'parent', aHand, 'facecolor', 'green')
    end
end

set(gca,'XTick', xplot); 
set(gca,'XTickLabel', x);

ylabel('Accuracy');
xlabel('level');

ylim([0 100]);

原件:

enter image description here

我的目标: enter image description here

1 个答案:

答案 0 :(得分:2)

那样做:

set(gca,'yTick',[25 50 100])
set(gca,'yTickLabel',{'Very bad','Bad','Good'})

输出:

enter image description here