MATLAB - 每个条形图的不同颜色和刻度标签的条形图

时间:2013-11-15 19:20:50

标签: matlab matlab-figure

我希望下面的代码输出是条形图中的4个不同的条形图,每个条形图具有不同的颜色,并且分别带有刻度标签“a”,“b”,“c”和“d”。颜色很好,但只有第一个标签有'a'标签,其他三个标签没有标签。如何在条形图中实现刻度标记条,同时用不同颜色突出显示它们?我使用的是版本2010b。谢谢!

deneme = [1 2 3 4];
figure;
for i=1:length(deneme)
    if i==1
        colorcode = 'b';
    elseif i==2
        colorcode = 'g';
    elseif i==3
        colorcode = 'r';
    else
        colorcode = 'k';
    end
    bar(i, deneme(i), colorcode);
    hold on;
end
set(gca,'XTickLabel',{'a'; 'b'; 'c'; 'd'})

1 个答案:

答案 0 :(得分:6)

只需在最后一行之前添加此行:

set(gca,'Xtick',1:4)

或将两行合并到

set(gca,'Xtick',1:4,'XTickLabel',{'a'; 'b'; 'c'; 'd'})

不知何故,在您的代码中,只有一个刻度,所以所有标签,但第一个没有勾选。使用set(gca,'xtick',...)创建这些刻度可以解决问题。