我注意到有时候,当我使用函数bar()或hist()绘制条形图时,绘制的条形图没有边框。它们看起来有点不太好看,我更喜欢它们之间的边界或一点点空间。 该图显示了我现在所获得的内容,绘制了三个不同的数据集。第三个图形被缩放以显示条形之间缺少空间。
我到达那里这与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');
[...]
答案 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');
答案 1 :(得分:0)
Barseries对象的EdgeColor
和LineWidth
属性控制条形轮廓。尝试使用代码并使用红色,绿色,蓝色和宽度值来获得更好的结果。
red = 1;
green = 1;
blue = 1;
width = 3;
h = bar(edges,y{k} , 'histc');
set(h,'EdgeColor',[red green blue],'LineWidth',width);