2015-06-10 3 views
0

Я рисую гистограмму, основанную на некоторых значениях, но мне было интересно, могу ли я рисовать ее с другим цветом. Так, например, если точность составляет менее 25%, бар становится красным, если он находится между 25% и 50%, становится желтым, и он становится зеленым, если точность составляет более 50%. Любая помощь?Нарисуйте другую цветную гистограмму matlab

Мой код:

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]); 

ответ

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

+0

Спасибо большое, он работал идеально, Можем ли мы изменить ось Y в всего 3 значения: VeryBad (менее 25%), плохие (25% и 50%) и хорошие (более 50%) независимо от точного процента? – SMH

+1

@SMH, это другой вопрос (и ответ: взгляните на 'set (gca, 'YTick', ...)' и 'set (gca, 'YTickLabel', ...)'. Если ответ помог вам, вы должны перенести и/или принять его. –

Смежные вопросы