为什么有时条形或条形的条形没有边框?

时间:2013-08-29 15:34:13

标签: matlab graph plot histogram

我注意到有时候,当我使用函数bar()或hist()绘制条形图时,绘制的条形图没有边框。它们看起来有点不太好看,我更喜欢它们之间的边界或一点点空间。 该图显示了我现在所获得的内容,绘制了三个不同的数据集。第三个图形被缩放以显示条形之间缺少空间。 enter image description here

我到达那里这与bar函数中的'histc'参数有关。如果没有histc参数,条形图之间会有一些空格,但是条形图将以边缘值为中心,而我希望边缘值为每个条形图的边缘。

这是我使用的代码(的相关部分):

 [...]
 if edges==0
        %these following lines are used to take the min and max of the three dataset
        maxx=max(cellfun(@max, reshape(data,1,size(data,1)*size(data,2))));
        minn=min(cellfun(@min, reshape(data,1,size(data,1)*size(data,2))));
        edges=minn:binW:maxx+binW;
    end
    [...]
     y{k}=histc(data{r,c}, edges);
    bar(edges,y{k} , 'histc');
    [...]

2 个答案:

答案 0 :(得分:1)

我认为如果你改变条形图的颜色,你会发现实际上有一个边框,它只是没有很好地显示出来。您还可以更改条形的宽度,使它们更加清晰。

% something to plot
data = 100*rand(1000,1);
edges = 1:100;

hData = histc(data,edges);

figure
subplot(2,1,1)
h1 = bar(edges,hData,'histc');
% change colors
set(h1,'FaceColor','m')
set(h1,'EdgeColor','b')

% Change width
subplot(2,1,2)
h1 = bar(edges,hData,0.4,'histc');

enter image description here

答案 1 :(得分:0)

Barseries对象的EdgeColorLineWidth属性控制条形轮廓。尝试使用代码并使用红色,绿色,蓝色和宽度值来获得更好的结果。

    red = 1;
    green = 1;
    blue = 1;
    width = 3;
    h = bar(edges,y{k} , 'histc');
    set(h,'EdgeColor',[red green blue],'LineWidth',width);