specifying bin increments on a histogram
4 次查看(过去 30 天)
显示 更早的评论
Hello,
I use the code below to create a plots like this with different data sets. I want all plots to have the same scale, i.e. 0 to 90 and -2 to +2.
Not all data sets have data values at the extreme ends of the scales around 80-90 or 1.8-2 for example.
For example if the data in data set only ranges from 0-75 does the code divide the data up into bin intervals of 75/90 or does it create bins in 1 mph increments so bins 76-90 would have no data?
My question is, how can you specify that you want 90 bins a 1 mph increments and you want 40 bins at 0.1 increments from -2 to +2?
![](https://www.mathworks.com/matlabcentral/images/broken_image.png)
load Data;
% Calculate histogram
nBinsX = 120;
nBinsY = 40;
hist3(Data,[nBinsX,nBinsY]);
% Plot histogram
set(gcf,'renderer','opengl');
s = get(gca,'child');
zData = get(s,'zData');
colormap gray;
set(s,...
'zData' ,zData/length(Data),... % normalize frequency
'FaceColor' ,'interp',...
'EdgeColor' ,0.3*[1 1 1],... % make edges visible at all heights
'CDataMode' ,'auto'); % color tops according to height
% Labels
title('Velocity VS Acceleration Distribution');
xlabel('Velocity (mph)');
ylabel('Acceleration (m/s^2)');
zlabel('Normalized Frequency');
0 个评论
回答(2 个)
Walter Roberson
2013-1-13
If you want specific bins, then pass in the list of bin centers if you are using hist(), or pass in the list of bin edges if you are using histc()
1 个评论
the cyclist
2013-1-13
Note that John is using hist3(), which is just a bit different in syntax from hist() and histc().
the cyclist
2013-1-13
I suggest you make a careful read of
>> doc hist3
There is a section near the top that describes exactly how to specify either the bin centers or edges that you want.
3 个评论
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Data Distribution Plots 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!