我在条形图上绘制了大量数据。默认情况下,条形图都是蓝色,没有空格。但是,当我尝试添加颜色时,白色线条出现在固体颜色块上。为什么会这样,有没有办法摆脱它们?
n=3000
mydata=2-abs(randn(n,1));
x=zeros(n,1);
x(1:2*n/10)=1;
x(2*n/10+1:n/2)=2;
x(n/2 +1:6*n/10)=3;
x(6*n/10 +1:8*n /10)=4;
x(8*n/10 :n)=5;
data=[x,mydata];
data=sortrows(data,[1,2])
bar=bar(data(:,2));
bar_child=get(bar,'Children');
set(bar_child,'CData',data(:,1));
set(gca,'ytick',[])
set(bar_child, 'EdgeColor', 'none')
如果你尝试在没有最后4行的情况下运行它,你可以清楚地看到差异
bar_child=get(bar,'Children');
set(bar_child,'CData',data(:,1));
set(gca,'ytick',[])
set(bar_child, 'EdgeColor', 'none')
答案 0 :(得分:0)
你是对的 - 当你在没有最后四行的情况下运行上面的所有条形图时,所有条形图都是蓝色的,你在图中看不到任何垂直的白线。但是,如果放大,则可以开始看到白线。所以他们在其他情节中,只是没有那么明显。
我不确定为什么会这样。当我调整多色图时,会出现更多垂直白线。
解决方法如下。由于默认条宽为0.8,因此将其更改为1.0,以使条之间没有分隔
bar=bar(data(:,2),'BarWidth',1);
并重新运行所有代码行。当我这样做时,结果看起来很好(没有垂直的白线)。
试试这个,看看会发生什么!