bar() function broken for large data sets when bar color is changed?
이전 댓글 표시
Hi, I am using the bar() function to plot detailed histograms of 12-bit image data, e.g. using 4096 bins. But I am having some problems when I change the bar color. It seems that the bar plot gets corrupted when there are a large number of data points; but there is no problem if (a) the bar color is left as default and/or (b) fewer data points are used.
Here's an example that reproduces the problem (figure 2 is the corrupt one):
% Create a detailed histogram
x = 128*round(32*rand(1,100^2)); % <- Some random data with histogram gaps
[n,b] = hist(x,128*32); % 128*32=4096
figure;
bar(b,n); % This one looks ok, using default color
figure;
bar(b,n,'r'); % Should look the same as the first one (only red), but is an unreadable mess.
% Compare to plotting only a subset of the histogram:
subrange = 1:400;
figure;
bar(b(subrange),n(subrange));
figure;
bar(b(subrange),n(subrange),'r'); % Only 400 data points, looks fine!
Am I doing something wrong or is this a bug? I am using R2014a (8.3.0.532)
Thanks, BG
댓글 수: 8
the cyclist
2014년 6월 2일
All four figures look fine to me. (I'm using the same MATLAB version, on a Mac running OS X 10.9.3.)
Could you also post images of the figures, so we can get a better idea of what the messed-up one looks like?
BG
2014년 6월 2일
BG
2014년 6월 2일
the cyclist
2014년 6월 2일
The difference might also be the renderer. What do you get from
get(gcf,'Renderer')
when the focus is on this figure? (Mine is 'OpenGL'.) I am not an expert in this regard, but other folks on this forum know a lot about rendering.
dpb
2014년 6월 2일
As always on such funky things, you can try changing the 'renderer' option to see if it matters and check for updated video drivers...
BG
2014년 6월 2일
dpb
2014년 6월 2일
Did you try resetting it to something other than 'OpenGL' on the corrupt ones to see if that had any bearing? Seems strange that it's different by default...
BG
2014년 6월 5일
채택된 답변
추가 답변 (0개)
카테고리
도움말 센터 및 File Exchange에서 Image Arithmetic에 대해 자세히 알아보기
제품
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!

