绘制不同颜色的条形图matlab

时间:2015-06-10 05:18:57

标签: matlab

我根据某些值绘制条形图,但我想知道是否可以用不同的颜色绘制它。因此,例如,如果精度小于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); 
 figure;
 bar(xplot,y);
 ylabel('Accuracy');
 xlabel('level');
 set(gca,'XTick', xplot); 
 set(gca,'XTickLabel', x);
 ylim([0 100]);

1 个答案:

答案 0 :(得分:2)

我改编了this回答:

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