2015-06-18 5 views
0

я быть_наст бар граф, имеющие три бара следующегоПредставляющих баров с различными цветами в MATLAB

x=[0.22,0.34,0.42] 
bar(x,0.1,'stacked') 
somenames={'IND Relation' ; 'DIS Relation' ; 'EQ Relation'} 
set(gca,'xticklabel',somenames) 
ylabel('F1') 

все три бара находится в синем цвете, но я хочу, чтобы представить IND Relation коричневого цвета, DIS Relation с зеленым цветом и EQ Relation с синим цветом.

Ниже приведен результат, я только хочу, чтобы изменить цвета в указанном выше порядке browngreen и blue

enter image description here

+0

Согласно [это] (http://www.mathworks.com/matlabcentral/answers/99092-how-do-i-define-colors-for-individual-bars-on -my-bar-graph-by-their-values-in-matlab-7-1) нет встроенной функции для управления цветом столбцов на гистограмме. – evolved

ответ

3

Это то, что вы ищете?

x = [0.22,0.34,0.42]; 

h = figure; 
a = axes('parent', h); 
hold(a, 'on') 

colors = {'r', 'b', 'g'}; 
somenames = {'IND Relation'; 'DIS Relation'; 'EQ Relation'}; 

for i = 1:numel(x) 
    b = bar(i, x(i), 0.1, 'stacked', 'parent', a, 'facecolor', colors{i}); 
end 

a.XTick = 1:3; 
a.XTickLabel = somenames; 

ylabel('F1') 

enter image description here

+0

ahhh color {i}, поэтому он может назначать только цвет для каждого бара. Я пытался и получал ошибки в ответ – GameOfThrows

+0

вы обряд, но по оси x я хочу писать имена отношений на месте '1'' 2' и '3'. для вашей помощи я обновил свой вопрос с образцом вывода. –

+0

@AfzaalAhmad, под редакцией. – SamuelNLP

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